字符的四種方式表達
一、單引號
定義一個字符串的最簡單的方法是用單引號把它包圍起來(字符 ')。
要表達一個單引號自身,需在它的前面加個反斜線(\)來轉義。要表達一個反斜線自身,則用兩個反斜線(\\)。其它任何方式的反斜線都會被當成反斜線自己:也就是說若是想使用其它轉義序列例如 \r 或者 \n,並不表明任何特殊含義,就單純是這兩個字符自己。
注意: 不像雙引號和 heredoc 語法結構,在單引號字符串中的變量和特殊字符的轉義序列將不會被替換。php
二、雙引號
若是字符串是包圍在雙引號(")中, PHP 將對一些特殊的字符進行解析:spa
轉義字符操作系統
字符 | 含義 |
---|---|
\r | 回車(ASCII 字符集中的 CR 或 0x0D (13)) |
\t | 回車(ASCII 字符集中的 CR 或 0x0D (13)) |
\t | 水平製表符(ASCII 字符集中的 HT 或 0x09 (9)) |
\v | 垂直製表符(ASCII 字符集中的 VT 或 0x0B (11))(自 PHP 5.2.5 起) |
\e | Escape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起) |
\f | (ASCII 字符集中的 FF 或 0x0C (12))(自 PHP 5.2.5 起) |
\\ | 反斜線 |
\n | 換行(ASCII 字符集中的 LF 或 0x0A (10)) |
和單引號字符串同樣,轉義任何其它字符都會致使反斜線被顯示出來。
用雙引號定義的字符串最重要的特徵是變量會被解析。.net
三、Heredoc語法結構
第三種表達字符串的方法是用 heredoc 句法結構:<<<。在該運算符以後要提供一個標識符(可用雙引號包裹或可不用),而後換行。接下來是字符串 string 自己,最後要用前面定義的標識符做爲結束標誌。
結束時所引用的標識符必須在該行的第一列,並且,標識符的命名也要像其它標籤同樣遵照 PHP 的規則:只能包含字母、數字和下劃線,而且必須以字母和下劃線做爲開頭
注意:要注意的是結束標識符這行除了可能有一個分號(;)外,絕對不能包含其它字符。這意味着標識符不能縮進,分號的先後也不能有任何空白或製表符。更重要的是結束標識符的前面必須是個被本地操做系統承認的換行,好比在 UNIX 和 Mac OS X 系統中是 \n,而結束定界符(可能其後有個分號)以後也必須緊跟一個換行。
若是不遵照該規則致使結束標識不「乾淨」,PHP 將認爲它不是結束標識符而繼續尋找。若是在文件結束前也沒有找到一個正確的結束標識符,PHP 將會在最後一行產生一個解析錯誤。
Heredocs 結構不能用來初始化類的屬性。自 PHP 5.3 起,此限制僅對 heredoc 包含變量時有效。ci
四、Nowdoc語法結構
就象 heredoc 結構相似於雙引號字符串,Nowdoc 結構是相似於單引號字符串的。Nowdoc 結構很象 heredoc 結構,可是 nowdoc 中不進行解析操做。這種結構很適合用於嵌入 PHP 代碼或其它大段文本而無需對其中的特殊字符進行轉義。
一個 nowdoc 結構也用和 heredocs 結構同樣的標記 <<<, 可是跟在後面的標識符要用單引號括起來,即 <<<'EOT'。Heredoc 結構的全部規則也一樣適用於 nowdoc 結構,尤爲是結束標識符的規則。字符串