PHP语法的替代语法(另类写法) 作者: Chuwen 时间: 2017-10-03 分类: PHP技巧,PHP ## 1. 在研究博客模板(如 `Typecho`、`WordPress`、`Z-Blog`等博客程序的)、论坛模板(如 `Discuz`、`PHPwind`等论坛程序的)及其它PHP程序模板文件中,常常会看到一些奇怪的语法,还质疑能不能正常运行,答案当然是肯定的:“能运行”,比如: ```php $_GET['host']变量是空的 ``` > ### 对于相当一部分PHP爱好者来说根本没见过啊,这些是什么东西呢?难道是那些博客的开发者自己搞的仿PHP的模板语言? > ### 非也,其实这些都是PHP的语法,只不过不常用而已,这些都是PHP流程控制的 `替代语法`。 > ### 这里就就给大家详细说一下 `PHP流程控制` 的替代语法。什么是 `替代语法`? > ### 简单的说,这是一些PHP语法的另类写法。 ## 2. PHP中,有哪些语法有替代语法? > ### 流程控制(包括 `if`, `while`, `forforeach`, `switch`)这几个语句有替代语法。 ### 2-1. 替代语法的基本形式: > ### 左花括号(`{`)换成冒号(`:`),把右花括号(`}`)分别换成 `endif;`,`endwhile;`,`endfor;`,`endforeach`; 以及 `endswitch`(注意,上面说到的这些符号都是英文输入状态下的,而不是中文输入状态下的。); ### 2-2. 举个例子吧: ```php 变量 $num 是负数 ``` ### 上面的语句等同于. ```php 变量 $num 是负数 ``` ## 3. 为什么纯PHP代码里面几乎看不到? > ## 这些语法有点不符合C家族的传统有点另类,大家不大习惯于这种语法,而且不是很方便。 ## 4. 大家都不习惯,而且这么另类要他有什么用? > ## 存在就是合理,它自有它的用处,这些语法能发挥的地方是在PHP和HTML混合页面的代码里面(如上述第 `1` 点),好处如下: >> ### 1.使HTML和PHP混合页面代码更加干净整齐,有代码洁癖的朋友最惧怕的就是乱七八糟的混合代码,有了这些没有花括号的替代语法,各位爱干净的朋友开心到尿震。 >> ### 2.流程控制逻辑更清晰,代码更容易阅读。如果要改别人的 `PHP` 和 `HTML` 混合代码,打开发现,WC!太TMD垃圾了!如果用替代语法,我想再垃圾的程序开发人员也不至于写的太乱吧。 >> ### 3.一些从 `ASP` 等其他类 `basic` 语言家族转来的朋友,会更容易使用 `PHP`。 # 5. 举几个上面说的替代语法: ## 5-1. `if else` 语句: ### 替代语法写法: ```php 变量 $num 等于 1024 变量 $num 不等于 1024 ``` ### 原始语法写法: ```php 变量 $num 等于 1024 变量 $num 不等于 1024 ``` ## 5-2. `if elseif else` 语句: ### 替代语法写法: ```php 变量 $num 等于 1024 变量 $num 等于 2048 变量 $num 不等于 1024,也不等于 2048 ``` ### 原始语法写法: ```php 变量 $num 等于 1024 变量 $num 等于 2048 变量 $num 不等于 1024,也不等于 2048 ``` ## 5-3. `while` 循环语句: ### 替代语法写法: ```php 数字是: ``` ### 原始语法写法: ```php 数字是: ``` ## 5-4. `for` 循环语句: ### 替代语法写法: ```php 数字是: ``` ### 原始语法写法: ```php 数字是: ``` ## 5-4. `foreach` 循环语句: ### 替代语法写法: ```php ``` ### 原始语法写法: ```php ``` ## 5-5. `switch` 语句: ### 替代语法写法: ```php ``` ### 原始语法写法: ```php ``` # 以上就是替代语法的一些示例了,代码都是我一一打出来的,花了半个多小时吧.... 这些替代语法无非就是 `2-1` 所提到的: > ## 左花括号(`{`)换成冒号(`:`),把右花括号(`}`)分别换成 `endif;`,`endwhile;`,`endfor;`,`endforeach`; 以及 `endswitch`(注意,上面说到的这些符号都是英文输入状态下的,而不是中文输入状态下的。); > ## 推荐个在线运行 `PHP代码` 的网站(并非广告,当然你也可以自己去找):www.dooccn.com/php >> ## 本文章参考了一些资料来写的,再经由我整理的,网转载注明出处,谢谢! 标签: PHP, 语法