PHP中冒號 endif endwhile endfor學習筆記,有需要的朋友可參考一下,在wordpress一類博客程序的模板里面看到很多奇怪的PHP語法,比如如下代碼:
- <?php if(emptyempty($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: //Vevb.com
- echo “i equals 1″;
- break;
- case 2:
- echo “i equals 2″;
- break;
- default:
- echo “i is not equal to 0, 1 or 2″;
- endswitch;
- ?>
新聞熱點
疑難解答