1. 程式人生 > >php中的單引號、雙引號和轉義字元

php中的單引號、雙引號和轉義字元

PHP中,可以使用 echo() 和 print() 語句傳送資料到Web瀏覽器,也可以使用它們傳送HTML 程式碼到Web瀏覽器。從技術上講,echo() 和 print() 是語言構造,而不是函式,這裡用了一對括號,從而有助於與變數以及PHP的其他部分割槽分開。這兩個語句本質上沒有什麼區別,因此用那一個都不會產生任何問題。這依個人習慣。它們不區分大小字。

PHP中,理解單引號與雙引號有什麼區別是重要的。當所傳送的資料中涉及到單引號和雙引號時,在列印雙引號時使用單引號,反之亦然,如:

echo 'She said,"How are you?"'

print "I'm just ducky.";

或者,通過在有問題的字元前面放置一個反斜槓,對它進行轉義:

echo "She said,\"How are you?\" ";

print 'I\'m just ducky.';

PHP中,封閉在單引號內的值將照字面意義進行處理,而封閉在雙引號內的值則將被解釋。換句話說,把變數和特殊字元(見表1)放在雙引號內將導致打印出它們所表示的值,而不是它們的字面值。如:

$var = 'test';

程式碼echo "var is equal to $var"; 將打印出 var is equal to test,而程式碼echo 'var is equal to $var'; 將打印出var is equal to $var。使用一個轉義的美元符號,程式碼echo"\$var is equal to $var"; 將打印出$var is equal to test,而程式碼echo '\$var is equal to $var'; 將打印出\$var is equal to $var。

表1 當在雙引號內使用這些字元時,它們具有特殊的含義

轉義字元程式碼 轉義字元的含義
\ " 雙引號
\ ' 單引號
\ \ 反斜槓
\ n 換行符
\ r 回車符
\ t 製表符
\ $ 美元符號

正如以上例子所說明的,雙引號將用變數的值(test)代替它的名稱($var),並用特殊字元表示的值($)代替它的程式碼(\$)。單引號總是準確地列印你輸入的內容,除了轉義的單引號(\')和轉義的反斜槓(\\)之外,它們將分別被列印為一個單引號和一個反斜槓。

提示:

1、由於PHP將試圖找出那些需要將其值插入到雙引號內的變數,所以從理論上講,使用單引號要快一些。但是,如果需要列印一個變數的值,則必須使用雙引號。

2、因為有效的HTML常常包括許多用雙引號括住的屬性,所以當利用PHP列印HTML時,使用單引號最容易。

echo '<table width="200" border="1" cellspacing="5" cellpadding="2" align="center">';

如果想使用雙引號打印出上面這段HTML程式碼,將不得不對字串中的所有雙引號進行轉義,所以相對來說較麻煩。