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 相关文章推荐
从网上搜到的phpwind 0day的代码
Dec 07 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 PHP
浅谈PHP中output_buffering
Jul 13 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
Apr 27 PHP
PHP正则表达式过滤html标签属性(DEMO)
May 04 PHP
Yii调试查看执行SQL语句的方法
Jul 15 PHP
Yii针对添加行的增删改查操作示例
Oct 18 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 PHP
PHP的imageTtfText()函数深入详解
Mar 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
实用函数3
2007/11/08 PHP
php array_merge下进行数组合并的代码
2008/07/22 PHP
深入理解PHP中的Session和Cookie
2013/06/21 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
Laravel框架中缓存的使用方法分析
2019/09/06 PHP
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
有关DOM元素与事件的3个谜题
2010/11/11 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
整理一下常见的IE错误
2016/11/18 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
基于Javascript倒计时效果
2016/12/22 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
2020/06/24 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
python绘制多个曲线的折线图
2020/03/23 Python
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
Pyqt5实现英文学习词典
2019/06/24 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
UGG英国官方网站:UGG UK
2018/02/08 全球购物
劳动实践课感言
2014/02/01 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书