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 相关文章推荐
PHP编程之高级技巧——利用Mysql函数
Oct 09 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
Nov 12 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
php 团购折扣计算公式
Nov 24 PHP
ThinkPHP验证码使用简明教程
Mar 05 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
Apr 28 PHP
php实现mysql封装类示例
May 07 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
php中JSON的使用与转换
Jan 14 PHP
PHP实现简易计算器功能
Aug 28 PHP
PHP hex2bin()函数用法讲解
Feb 25 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 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判断变量的函数
2012/04/24 PHP
php数字游戏 计算24算法
2012/06/10 PHP
如何使用Strace调试工具
2013/06/03 PHP
php中最简单的字符串匹配算法
2014/12/16 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
轻松实现php文件上传功能
2017/02/17 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
javascript 节点遍历函数
2010/03/28 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
JavaScript中使用参数个数实现重载功能
2017/09/01 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
python实现超市扫码仪计费
2018/05/30 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
解决python中0x80072ee2错误的方法
2020/07/19 Python
机械专业毕业生自荐信
2013/11/02 职场文书
大学生创业计划书的格式要求
2013/12/29 职场文书
财务专业大学生职业生涯规划范文
2013/12/30 职场文书
会计专业导师推荐信
2014/03/08 职场文书
英语教研活动总结
2014/07/02 职场文书
给校长的建议书范文
2015/09/14 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书
python中%格式表达式实例用法
2021/06/18 Python
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript