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中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 PHP
php 模拟get_headers函数的代码示例
Apr 27 PHP
php使用GeoIP库实例
Jun 27 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
如何使用Gitblog和Markdown建自己的博客
Jul 31 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
PHP在线书签系统分享
Jan 04 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
Mar 21 PHP
PHP MySql增删改查的简单实例
Jun 21 PHP
浅析php-fpm静态和动态执行方式的比较
Nov 09 PHP
redis+php实现微博(一)注册与登录功能详解
Sep 23 PHP
php+laravel 扫码二维码签到功能
May 15 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 array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
vue省市区三联动下拉选择组件的实现
2017/04/28 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
JS同步、异步、延迟加载的方法
2018/05/05 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
wxPython学习之主框架实例
2014/09/28 Python
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
Python实现字符串反转的常用方法分析【4种方法】
2017/09/30 Python
浅谈python数据类型及类型转换
2017/12/18 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
python破解同事的压缩包密码
2020/10/14 Python
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
大二学生职业生涯规划书
2014/02/05 职场文书
2015年教师学期工作总结
2015/04/30 职场文书
教你怎么用python selenium实现自动化测试
2021/05/27 Python
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL