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中使用Imagick实现图像直方图的实现代码
Aug 30 PHP
PHP UTF8中文字符截断函数代码
Sep 11 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
yii上传文件或图片实例
Apr 01 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
Nov 22 PHP
Yii2实现自定义独立验证器的方法
May 05 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
php + nginx项目中的权限详解
May 23 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
Mar 15 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 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 has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
PHP删除非空目录的函数代码小结
2013/02/28 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
让alert不出现弹窗的两种方法
2014/05/18 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
js实现验证码功能
2020/07/24 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
Python自定义线程池实现方法分析
2018/02/07 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
python操作redis数据库的三种方法
2020/09/10 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
项目经理岗位职责
2013/11/11 职场文书
实习教师自我鉴定
2013/12/09 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
股指期货心得体会
2014/09/13 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
node快速搭建后台的实现步骤
2022/02/18 NodeJs
Win11开始菜单添加休眠选项
2022/04/19 数码科技