一個(gè)字符串 string 就是由一系列的字符組成,其中每個(gè)字符等同于一個(gè)字節(jié)。這意味著 PHP 只能支持 256 的字符集,因此不支持 Unicode 。詳見字符串類型詳解。
Note: string 最大可以達(dá)到 2GB。
語法:
一個(gè)字符串可以用 4 種方式表達(dá):
單引號(hào)
雙引號(hào)
heredoc 語法結(jié)構(gòu)
nowdoc 語法結(jié)構(gòu)(自 PHP 5.3.0 起)
單引號(hào):
定義一個(gè)字符串的最簡單的方法是用單引號(hào)把它包圍起來(字符 ')。
要表達(dá)一個(gè)單引號(hào)自身,需在它的前面加個(gè)反斜線()來轉(zhuǎn)義。要表達(dá)一個(gè)反斜線自身,則用兩個(gè)反斜線()。其它任何方式的反斜線都會(huì)被當(dāng)成反斜線本身:也就是說如果想使用其它轉(zhuǎn)義序列例如 r 或者 n,并不代表任何特殊含義,就單純是這兩個(gè)字符本身。
Note: 不像雙引號(hào)和 heredoc 語法結(jié)構(gòu),在單引號(hào)字符串中的變量和特殊字符的轉(zhuǎn)義序列將不會(huì)被替換。
雙引號(hào):
如果字符串是包圍在雙引號(hào)(")中, PHP 將對(duì)一些特殊的字符進(jìn)行解析:
序列 | 含義 |
---|---|
n | 換行(ASCII 字符集中的 LF 或 0x0A (10)) |
r | 回車(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 起) |
反斜線 | |
$ | 美元標(biāo)記 |
" | 雙引號(hào) |
[0-7]{1,3} | 符合該正則表達(dá)式序列的是一個(gè)以八進(jìn)制方式來表達(dá)的字符 |
x[0-9A-Fa-f]{1,2} | 符合該正則表達(dá)式序列的是一個(gè)以十六進(jìn)制方式來表達(dá)的字符 |
和單引號(hào)字符串一樣,轉(zhuǎn)義任何其它字符都會(huì)導(dǎo)致反斜線被顯示出來。用雙引號(hào)定義的字符串最重要的特征是變量會(huì)被解析。