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 VS ASP
Oct 09 PHP
在php MYSQL中插入当前时间
Apr 06 PHP
PHP日期时间函数的高级应用技巧
May 16 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
May 28 PHP
php !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
Jan 07 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
PHP调用JAVA的WebService简单实例
Mar 11 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
Mar 19 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
php微信公众号开发之二级菜单
Oct 20 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
基于mysql的论坛(5)
2006/10/09 PHP
php与php MySQL 之间的关系
2009/07/17 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
Vue中插入HTML代码的方法
2018/09/21 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
node.js通过url读取文件
2020/10/16 Javascript
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
go和python变量赋值遇到的一个问题
2017/08/31 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
python列表推导式入门学习解析
2019/12/02 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
2020/06/30 Python
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
服装公司总经理岗位职责
2013/11/30 职场文书
实习生单位鉴定意见
2013/12/04 职场文书
元旦晚会邀请函
2014/01/27 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
MySQL普通表如何转换成分区表
2022/05/30 MySQL