iT邦幫忙

DAY 12
2

遭遇PHP之經驗分享系列 第 12

[鐵人賽Day12]PHP的簡寫標籤與使用方式

  • 分享至 

  • xImage
  •  

今日因為突發的私事較多,時間較少,因此讓我藉此理由偷懶一下,分享個簡單的主題吧
這次要與各位分享的是,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)" ) );
?>

執行結果如下圖:


上一篇
[鐵人賽Day11]在PHP中isset、empty、is_null的使用差別
下一篇
[鐵人賽Day13]$_SERVER簡述與判別瀏覽網站使用者瀏覽器的語系
系列文
遭遇PHP之經驗分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言