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

咱們經常在wordpress一類的博客程序的模板裏面看到很是多奇怪的PHP語法,比方:
<?php  if( empty($_GET['a]) ): ?>     <font color = "red">空的</font>     <?

php endif;?>php

對於至關一部分PHP愛好者來講根本沒見過,這些是什麼東西呢?難道是那些博客開發人員本身搞的的仿PHP得模板語言?
非也。事實上這些都是PHP的語法,僅僅只是不常用而已,這些都是PHP流程控制的替代語法。

這裏就給你們具體說一下PHP流程控制的替代語法。什麼事替代語法?
簡單的說就是一些語法的另類寫法。


PHP中哪些語法有替代語法?
流程控制(包含if、while、for、foreach、switch)這幾個語句有替代語法。


替代語法的基本形式:
左花括號({)換成冒號(:),把右花括號(})分別換成 endif、endwhile、endfor、endforeach、endswitch;

舉個列子吧:
<?php if( $a<0 ): ?

> 小於0 <?php endif; ?wordpress

>post

上面的語句等同於
<?php if( $a<0 ){ ?> 小於0 <?php } ?

>spa


爲何純PHP代碼裏面差點兒看不到?
這些語法有點不符合C家族的傳統有點另類,你們不大習慣這樣的語法,而且不是很是方便

你們都不習慣。而且這麼另類要他有什麼做用?
存在就是合理。它自由它的用處,這些語法能發揮的地方是在PHP和HTML混合頁面的代碼裏面。

優勢例如如下:開發

1.使HTML和PHP混合頁面代碼更加乾淨整齊。有代碼潔癖的朋友最害怕的就是亂七八糟的混合代碼,有了這些沒有花括號的替代語法,各位愛乾淨的朋友開心到尿震。

2.流程控制邏輯更清晰。代碼更easy閱讀。要改別人的PHP和HTML混合代碼。打開發現。 我擦!太TMD垃圾了!

假設用替代語法,我想再垃圾的程序開發者也不至於寫的太亂吧。博客

3.一些從ASP等其它類basic語言家族轉來的朋友,會更easy使用PHP。

講半天無用的,撈點乾的行不?這東西怎麼用?it

依據以前描寫敘述的用法,if語句的替代語法使用例如如下:
<?php if ($a == 5): ?模板

>
  <div>等於5</div>
<?php elseif ($a == 6): ?>
  <div>等於5</div>
<?php else: ?>
  <div>不是5就是6</div>
<?php endif; ?>class


while替代語法:
<?foreach

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; ?>

相關文章
相關標籤/搜索