PHP流程控制的替代語法示例

字號(hào):


    了解過wordpress一類博客程序的模板的PHPer都會(huì)看到很多奇怪的PHP語法,比如:
    <?php if(empty($GET_['a'])): ?>
    <font color=”red”>空的</font>
    <?php endif; ?>
    對(duì)于一部分PHPer根本沒見過這些是什么東西呢?難道是那些博客的開發(fā)者自己搞的仿PHP的模板語言?
    非也,其實(shí)這些都是PHP的語法,只不過不常用而已,這些都是PHP流程控制的替代語法。
    這里就就給大家詳細(xì)說一下PHP流程控制的替代語法。什么是替代語法?
    簡(jiǎn)單的說就是一些語法的另類寫法。
    PHP中那些語法有替代語法?
    流程控制(包括if,while,foreach,switch)這幾個(gè)語句有替代語法。
    替代語法的基本形式:
    左花括號(hào)({)換成冒號(hào)(:),把右花括號(hào)(})分別換成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;
    舉個(gè)例子吧:
    是負(fù)數(shù)拉
    上面的語句等同于
    是負(fù)數(shù)拉
    為什么純PHP代碼里面幾乎看不到?
    這些語法有點(diǎn)不符合C家族的傳統(tǒng)有點(diǎn)另類,大家不大習(xí)慣于這種語法,而且不是很方便
    大家都不習(xí)慣,而且這么另類要他有什么用?蛋疼嗎?
    存在就是合理,它自有它的用處,這些語法能發(fā)揮的地方是在PHP和HTML混合頁(yè)面的代碼里面。好處如下:
    1.使HTML和PHP混合頁(yè)面代碼更加干凈整齊。
    有代碼潔癖的朋友最懼怕的就是亂七八糟的混合代碼,有了這些沒有花括號(hào)的替代語法,各位愛干凈的朋友開心到尿震。
    2.流程控制邏輯更清晰,代碼更容易閱讀
    要改別人的PHP和HTML混合代碼,打開發(fā)現(xiàn),我擦!太TMD垃圾了!如果用替代語法,我想再垃圾的程序開發(fā)人員也不至于寫的太亂吧。
    3.一些從ASP等其他類basic語言家族轉(zhuǎn)來的朋友,會(huì)更容易使用PHP。
    講半天沒用的,撈點(diǎn)干的行不?這東西怎么用?
    根據(jù)之前描述的使用方法,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>循環(huán)點(diǎn)什么</li>
    <?php endwhile; ?>
    for替代語法:
    <?php for (expr1; expr2; expr3): ?>
    <li>循環(huán)點(diǎn)什么</li>
    <?php endfor; ?>
    foreach替代語法:
    <?php foreach (expr1): ?>
    <li>循環(huán)點(diǎn)什么</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;
    ?>