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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
Godaddy空间Zend Optimizer升级方法
May 10 PHP
php开发环境配置记录
Jan 14 PHP
php通过字符串调用函数示例
Mar 02 PHP
php浏览历史记录的方法
Mar 10 PHP
微信公众平台开发之天气预报功能
Aug 31 PHP
php简单实现批量上传图片的方法
May 09 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
Dec 19 PHP
Laravel-添加后台模板AdminLte的实现方法
Oct 08 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 PHP
thinkphp5.1 框架钩子和行为用法实例分析
May 25 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 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实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
浅析PHP文件下载原理
2014/12/25 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
jquery设置控件位置的方法
2013/08/21 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
复制粘贴功能的Python程序
2008/04/04 Python
python解析中国天气网的天气数据
2014/03/21 Python
python使用chardet判断字符串编码的方法
2015/03/13 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
通过代码实例了解Python异常本质
2020/09/16 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
介绍下Java的输入输出流
2014/01/22 面试题
校园摄影活动策划方案
2014/02/05 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
教师节横幅标语
2014/10/08 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
《大禹治水》教学反思
2016/02/22 职场文书
python爬虫框架feapde的使用简介
2021/04/20 Python