關於【字串型態】與【轉義字元】

PHP編譯器在編譯時,單引號【'】與雙引號【"】的使用會影響到編譯與判斷時產生出不同的結果,尤其有所謂的變數、字元或者一些運算子等等。
例如:
$eat = '牛肉';
$meat = '雞豬牛羊魚:$eat';

當使用單引號【'】時,最後$meat會得到[雞豬牛羊魚:$eat],而不會將變數$eat的內容寫入$meat。
但當使用雙引號【"】時:
$eat = '牛肉';
$meat = "雞豬牛羊魚:$eat";
編譯器境過判斷會將$eat視為變數,則[雞豬牛羊魚:牛肉]會存入變數$meat之中。

單引號可以視為字面上照單全收,沒有經過任何判斷或其他處理。
雙引號則是會將所有程式上的變數字元運算子....等等進行判斷運算處理。

轉義字元就像是在C語言中經常使用的跳脫字元使用方式與規則進而防止編譯器的誤判行為。
E.g:
echo 'it's you're book'; 【X】
echo 'it\'s you\'re book';【O】
each "sell $ " . $money . " only today." 【X】//紅色部分為運用【.】做字串接變數
each "sell \$ " . $money . " only today."【O】//紅色部分為運用【.】做字串接變數

留言