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 缓存实现代码及详细注释
May 16 PHP
按上下级层次关系输出内容的PHP代码
Jul 17 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
php在程序中将网页生成word文档并提供下载的代码
Oct 09 PHP
深入array multisort排序原理的详解
Jun 18 PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
php中使用gd库实现远程图片下载实例
May 12 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
PHP实现倒计时功能
Nov 16 PHP
PHP队列场景以及实现代码实例详解
Feb 26 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
Php+SqlServer实现分页显示
2006/10/09 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
2014/05/22 Javascript
jquery获取checkbox的值并post提交
2015/01/14 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
javascript中setInterval的用法
2015/07/19 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
原生js实现弹出层登录拖拽功能
2016/12/05 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
2017/06/04 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
vue监听对象及对象属性问题
2018/08/20 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
python改变日志(logging)存放位置的示例
2014/03/27 Python
python实现给字典添加条目的方法
2014/09/25 Python
python实现多线程行情抓取工具的方法
2018/02/28 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
python+tkinter实现学生管理系统
2019/08/20 Python
Python数据可视化图实现过程详解
2020/06/12 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
软件配置管理有什么好处
2015/04/15 面试题
高中语文教学反思
2014/01/16 职场文书
新三好学生主要事迹
2014/01/23 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
委托书英文
2015/01/28 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python
教你用python控制安卓手机
2021/05/13 Python
python状态机transitions库详解
2021/06/02 Python