一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集,因此不支持 Unicode 。详见字符串类型详解。
Note: string 最大可以达到 2GB。
语法:
一个字符串可以用 4 种方式表达:
单引号
双引号
heredoc 语法结构
nowdoc 语法结构(自 PHP 5.3.0 起)
单引号:
定义一个字符串的最简单的方法是用单引号把它包围起来(字符 ')。
要表达一个单引号自身,需在它的前面加个反斜线()来转义。要表达一个反斜线自身,则用两个反斜线()。其它任何方式的反斜线都会被当成反斜线本身:也就是说如果想使用其它转义序列例如 r 或者 n,并不代表任何特殊含义,就单纯是这两个字符本身。
Note: 不像双引号和 heredoc 语法结构,在单引号字符串中的变量和特殊字符的转义序列将不会被替换。
双引号:
如果字符串是包围在双引号(")中, PHP 将对一些特殊的字符进行解析:
序列 | 含义 |
---|---|
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 起) |
反斜线 | |
$ | 美元标记 |
" | 双引号 |
[0-7]{1,3} | 符合该正则表达式序列的是一个以八进制方式来表达的字符 |
x[0-9A-Fa-f]{1,2} | 符合该正则表达式序列的是一个以十六进制方式来表达的字符 |
和单引号字符串一样,转义任何其它字符都会导致反斜线被显示出来。用双引号定义的字符串最重要的特征是变量会被解析。