PHP中冒号、endif、endwhile、endfor使用介绍


Posted in PHP onApril 28, 2010

我们经常在wordpress一类博客程序的模板里面看到很多奇怪的PHP语法,比如:

<?php if(empty($GET_['a'])): ?> 
<font color="red">空的</font> 
<?php endif; ?>

对于相当一部分PHP爱好者来说根本没见过啊,这些是什么东西呢?难道是那些博客的开发者自己搞的仿PHP的模板语言?
非也,其实这些都是PHP的语法,只不过不常用而已,这些都是PHP流程控制的替代语法。
这里就就给大家详细说一下PHP流程控制的替代语法。什么是替代语法?
简单的说就是一些语法的另类写法。

PHP中那些语法有替代语法?
流程控制(包括if,while,forforeach,switch)这几个语句有替代语法。

替代语法的基本形式:
左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;

举个例子吧:

<?php if ($a<0): ?> 
是负数拉 
<?php endif; ?> 
上面的语句等同于 
<?php if ($a<0){ ?> 
是负数拉 
<?php } ?>

为什么纯PHP代码里面几乎看不到?
这些语法有点不符合C家族的传统有点另类,大家不大习惯于这种语法,而且不是很方便

大家都不习惯,而且这么另类要他有什么用?蛋疼吗?
存在就是合理,它自有它的用处,这些语法能发挥的地方是在PHP和HTML混合页面的代码里面。好处如下:
1.使HTML和PHP混合页面代码更加干净整齐。
有代码洁癖的朋友最惧怕的就是乱七八糟的混合代码,有了这些没有花括号的替代语法,各位爱干净的朋友开心到尿震。
2.流程控制逻辑更清晰,代码更容易阅读
要改别人的PHP和HTML混合代码,打开发现,我擦!太TMD垃圾了!如果用替代语法,我想再垃圾的程序开发人员也不至于写的太乱吧。
3.一些从ASP等其他类basic语言家族转来的朋友,会更容易使用PHP。

讲半天没用的,捞点干的行不?这东西怎么用?

根据之前描述的使用方法,if语句的替代语法使用如下:

<?php if ($a == 5): ?> 
<div>等于5</div> 
<?php elseif ($a == 6): ?> 
<div>等于5</div> 
<?php else: ?> 
<div>不是5就是6</div> 
<?php endif; ?>

while替代语法:
<?php while (expr): ?> 
<li>循环点什么</li> 
<?php endwhile; ?>

for替代语法:
<?php for (expr1; expr2; expr3): ?> 
<li>循环点什么</li> 
<?php endfor; ?>

foreach替代语法:
<?php foreach (expr1): ?> 
<li>循环点什么</li> 
<?php endforeach; ?>

switch替代语法:

<?php 
switch ($i): 
case 0: 
echo "i equals 0"; 
break; 
case 1: 
echo "i equals 1"; 
break; 
case 2: 
echo "i equals 2"; 
break; 
default: 
echo "i is not equal to 0, 1 or 2"; 
endswitch; 
?>
PHP 相关文章推荐
实现 win2003 下 mysql 数据库每天自动备份
Dec 06 PHP
php &amp;&amp; 逻辑与运算符使用说明
Mar 04 PHP
深入PHP获取随机数字和字母的方法详解
Jun 06 PHP
基于PHP Socket配置以及实例的详细介绍
Jun 13 PHP
php图像处理函数大全(推荐收藏)
Jul 11 PHP
ThinkPHP采用实现三级循环代码实例
Jul 18 PHP
PHP实现无限极分类图文教程
Nov 25 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
php验证码的制作思路和实现方法
Nov 12 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
注意!PHP 7中不要做的10件事
Sep 18 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 PHP
PHP 文件上传全攻略
Apr 28 #PHP
PHP GD 图像处理组件的常用函数总结
Apr 28 #PHP
PHP 开发环境配置(测试开发环境)
Apr 28 #PHP
PHP 开发环境配置(Zend Studio)
Apr 28 #PHP
PHP 开发环境配置(Zend Server安装)
Apr 28 #PHP
PHP开发环境配置(MySQL数据库安装图文教程)
Apr 28 #PHP
PHP PDO函数库详解
Apr 27 #PHP
You might like
php中static静态变量的使用方法详解
2010/06/04 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
vue中v-model动态生成的实例详解
2017/10/27 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
2020/09/07 Javascript
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
Python实现队列的方法
2015/05/26 Python
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
python图像处理之反色实现方法
2015/05/30 Python
Python进程间通信Queue实例解析
2018/01/25 Python
python如何创建TCP服务端和客户端
2018/08/26 Python
Python修改文件往指定行插入内容的实例
2019/01/30 Python
Python模块的制作方法实例分析
2019/12/21 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
Python扫描端口的实现
2021/01/25 Python
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
集中整治工作方案
2014/05/01 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
重阳节活动主持词
2015/07/04 职场文书