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的特殊设置
Oct 09 PHP
phpfans留言版用到的install.php
Jan 04 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 PHP
php获取用户浏览器版本的方法
Jan 03 PHP
CodeIgniter多语言实现方法详解
Jan 20 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
浅谈php和js中json的编码和解码
Oct 24 PHP
PHP钩子与简单分发方式实例分析
Sep 04 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
laravel开发环境homestead搭建过程详解
Jul 03 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动态图像的创建
2006/10/09 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
JQuery设置和去除disabled属性的5种方法总结
2013/05/16 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
JavaScript数字和字符串转换示例
2014/03/26 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
[01:07:15]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第二场 1月25日
2021/03/11 DOTA
python简单的函数定义和用法实例
2015/05/07 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
实例讲解python中的序列化知识点
2018/10/08 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
对python以16进制打印字节数组的方法详解
2019/01/24 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
境外导游求职信
2014/02/27 职场文书
小学生安全保证书
2015/05/09 职场文书
民主生活会主持词
2015/07/01 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
酒店员工管理制度
2015/08/05 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书
2022微信温控新功能上线
2022/05/09 数码科技