2014年1月20日 星期一

PHP 單引號「'」 和 雙引號「"」 的差別

最近在寫 PHP 發現在處理字串的時候使用單引號「'」或雙引號「"」竟然執行結果會不一樣,於是Google一下了解其所以。

原來是因為在 PHP 會處理雙引號「"」內字串的內容(像是跳脫字元或變數);而單引號「'」內字串的內容則視為純字串,所以在輸出的時候可以發現明顯的差異,很多潛在的 Bug 都跟這個有關係,以下提供兩個範例:

範例一

  1. <?php
  2.     $str = 'world';
  3.     echo "Hello! $str";  //  會印 Hello! world
  4.     echo 'Hello! $str';   //  會印 Hello! $str
  5. ?>


範例二

  1. <?php
  2.     echo "\n";  //  會換行
  3.     echo '\n';  //  會印 \n
  4. ?>



附帶一提,很多人說用單引號「'」會讓 PHP 執行速度較雙引號「"」來的快,就是差別在是否會處理字串的內容了。

沒有留言:

張貼留言