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 相关文章推荐
搜索引擎技术核心揭密
Oct 09 PHP
PHP的栏目导航程序
Oct 09 PHP
PHP json格式和js json格式 js跨域调用实现代码
Sep 08 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
Jun 28 PHP
Yii使用CLinkPager分页实例详解
Jul 23 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
php判断文件上传类型及过滤不安全数据的方法
Dec 17 PHP
简单谈谈php中的unicode和utf8编码
Jun 10 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
May 14 PHP
解决在Laravel 中处理OPTIONS请求的问题
Oct 11 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的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
深入理解PHP内核(一)
2015/11/10 PHP
php 时间time与日期date之间的使用详解及区别
2016/11/07 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
Nodejs+Socket.io实现通讯实例代码
2017/02/13 NodeJs
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
JavaScript中Object基础内部方法图
2018/02/05 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
Python正则表达式使用经典实例
2016/06/21 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
2019/11/29 Python
Python中base64与xml取值结合问题
2019/12/22 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
法学研究生自我鉴定范文
2013/12/04 职场文书
组织关系转移介绍信
2014/01/16 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
文明风采获奖感言
2014/02/18 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
联谊活动总结范文
2015/05/09 职场文书
上级领导检查欢迎词
2015/09/30 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript
详解Django的MVT设计模式
2021/04/29 Python
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis