準備做個wordpress的主題,結果看到了如下的文法:
__( 'Previous page', 'twentyfifteen' ), 'next_text' => __( 'Next page', 'twentyfifteen' ), 'before_page_number' => '' . __( 'Page', 'twentyfifteen' ) . ' ', ) ); // If no content, include the "No posts found" template. else : get_template_part( 'content', 'none' ); endif; ?>
這才知道php是有不太常用的替代文法的: 據 http://www.jb51.net/article/23252.htm
PHP中那些文法有替代文法?
流程式控制制(包括if,while,forforeach,switch)這幾個語句有替代文法。
替代文法的基本形式:
左花括弧({)換成冒號(:),把右花括弧(})分別換成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;
舉個例子吧:
複製代碼代碼如下:
是負數拉
上面的語句等同於
是負數拉
為什麼純PHP代碼裡面幾乎看不到?
這些文法有點不符合C家族的傳統有點另類,大家不大習慣於這種文法,而且不是很方便
大家都不習慣,而且這麼另類要他有什麼用?蛋疼嗎?
存在就是合理,它自有它的用處,這些文法能發揮的地方是在PHP和HTML混合頁面的代碼裡面。好處如下:
1.使HTML和PHP混合頁面代碼更加乾淨整齊。
有代碼潔癖的朋友最懼怕的就是亂七八糟的混合代碼,有了這些沒有花括弧的替代文法,各位愛乾淨的朋友開心到尿震。
2.流程式控制制邏輯更清晰,代碼更容易閱讀
要改別人的PHP和HTML混合代碼,開啟發現,我擦!太TMD垃圾了!如果用替代文法,我想再垃圾的程式開發人員也不至於寫的太亂吧。
3.一些從ASP等其他類basic語言家族轉來的朋友,會更容易使用PHP。
講半天沒用的,撈點乾的行不?這東西怎麼用?
根據之前描述的使用方法,if語句的替代文法使用如下:
複製代碼代碼如下:
等於5
等於5
不是5就是6
while替代文法:
複製代碼代碼如下:
迴圈點什麼
for替代文法:
複製代碼代碼如下:
迴圈點什麼
foreach替代文法:
複製代碼代碼如下:
迴圈點什麼
switch替代文法:
複製代碼代碼如下:
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;
?>
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。