替代語法是PHP程式設計中不常見到,有時卻又很重要的一個概念。
很多朋友都會有這樣的疑問:else後面的冒號和endif代表啥? google了一下就可以明白,這就是php的替代文法。
其中的冒號(:)等價於左花括號({),endif等價於右花括號(});
再來舉例:
<?php if ($a<0): ?> //负数的情况 <?php endif; ?>
上面的語句等同於:
<?php if ($a<0){ ?> //负数的情况 <?php } ?>
那麼PHP中那些語法有替代語法?
流程控制(包括if,while,forforeach,switch)這幾個語句有替代語法。
替代語法的基本形式:
左花括號({)換成冒號(:),將右花括號(})分別換成endif;, endwhile;,endfor;,endforeach; 以及endswitch;
while替代語法:
<?php while (expr): ?> <li>循环内容</li> <?php endwhile; ?>
其它替代語法可以類推。
為什麼純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; ?>
以上是什麼是php中的替代語法?它如何使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!