[PHP]PHP的簡寫標籤與使用方式

摘要:[PHP]PHP的簡寫標籤與使用方式

[鐵人賽Day12]PHP的簡寫標籤與使用方式
 
今日因為突發的私事較多,時間較少,因此讓我藉此理由偷懶一下,分享個簡單的主題吧
這次要與各位分享的是,PHP的語法縮寫(簡寫)
 
啥?今天怎說這個沒深度的,都說今天讓我偷懶一下嗎@@
 
好啦,廢話不多說,讓我們進入正題
在要使用PHP的縮寫前,首先要先打開php.ini
找到short_open_tag = Off把它改成short_open_tag = On
再重新啟動Apache Web Server,縮寫功能即會開啟
 
接著來看看PHP常看到的縮寫有哪些
 
1. 在宣告為PHP區域時會打上<?php ?>,而它的縮寫是<? ?>
在Apache Web Server 剛架設完縮寫功能未開啟,很多PHP新手會很疑惑地抓不到為何不能執行PHP程式碼,而是直接在頁面上顯示出來程式碼
通常是因為在宣告PHP區域是使用縮寫的關係
 
2. echo $str; 的縮寫為 <?=$str; ?>即可,等於是跟這個PHP區域說,我這個PHP區域就是這個變數而已,輸出結果是一樣的
 
3. if...else 通常這個是最虐心的(虐心or虐新傻傻分不清楚),該怎說呢
通常我們用的if為以下這樣:
if($value){
     echo "Yes";
}else{
     echo "No";
}
但經過縮寫後變為以下這樣:
echo ($value) ? ( "Yes" ) : ( "No" );
 
想當初,筆者就是這樣被自己的前輩虐待過...(那我可以傳承下去這樣對待之後的新人嘛@@)
而現在換自己虐待自己了,假如是巢狀if...else的縮寫呢
試了一下,以此類推照著寫出來是可以輸出結果的,有興趣的讀者可以複製到自己的環境底下執行,程式碼如下:
「php_short.php」

<?php
    $value=9;
    $value2=3;
?>

echo未縮寫輸出結果: <?php echo $value;?><br />
echo縮寫後輸出結果: <?=$value;?><br />
<hr />

<?php
    echo "if...else未縮寫結果:";
    if($value > 5) {
        echo("Value值大於等於5(>=5)");
    }else {
        echo("Value值小於等於5(<=5)");
    }

    echo "<hr />";

    echo "if...else縮寫結果:";
    echo ($value >= 5) ? ( "Value值大於等於5(>=5)" ) : ("Value值小於等於5(<=5)");

    echo "<hr />";

    echo "if...else巢狀縮寫結果:";
    echo ($value >= 5) ? (($value2 <= 5) ? ( "Value值大於等於5(>=5)且Value2小於等於5(<=5)" ) : ( "Value值大於等於5(>=5)且Value2大於等於5(>=5)" ) ) : ( ($value2 >= 5) ? ( "Value值小於等於5(<=5)且Value2大於等於5(>=5)" ) : ( "Value值小於等於5(<=5)且Value2小於等於5(<=5)" ) );
?>

 

執行結果如下圖: