PHP中的替代文法(冒號、endif、endwhile、endfor)

來源:互聯網
上載者:User

標籤:php   流程式控制制   替代文法   

我們經常在wordpress一類的部落格程式的模板裡面看到很多奇怪的PHP文法,比如:<?php  if( empty($_GET[‘a]) ): ?>     <font color = "red">空的</font>     <?php endif;?>對於相當一部分PHP愛好者來說根本沒見過,這些是什麼東西呢?難道是那些部落格開發人員自己搞的的仿PHP得範本語言?非也,其實這些都是PHP的文法,只不過不常用而已,這些都是PHP流程式控制制的替代文法。這裡就給大家詳細說一下PHP流程式控制制的替代文法。什麼事替代文法?簡單的說就是一些文法的另類寫法。
PHP中哪些文法有替代文法?流程式控制制(包括if、while、for、foreach、switch)這幾個語句有替代文法。
替代文法的基本形式:左花括弧({)換成冒號(:),把右花括弧(})分別換成 endif、endwhile、endfor、endforeach、endswitch;
舉個列子吧:<?php if( $a<0 ): ?> 小於0 <?php endif; ?>上面的語句等同於<?php if( $a<0 ){ ?> 小於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;
?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.