PHP手册-语言参考-类型-String 字符串
1. 一个字符串 String 就是由一系列的字符组成,其中每个字符等同于一个字节。
2. 一个字符串可以用 4 种方式表达:
2.1 单引号
—— 需要表达一个单引号自身,需在它的前面加个反斜线(\)来转义。
—— 在单引号字符串中的变量和特殊字符的转义序列不会被替换。
2.2 双引号
—— 在双引号中,PHP 将对一些特殊的字符进行解析:\n | \r | \t | \v | \e | \f | \\ | \$ | \" | \[0-7]{1,3} | \x[0-9A-Fa-f]{1,2}。转义任何其它字符否会导致反斜线被显示出来。
—— 用双引号定义的字符串最重要的特征是变量会被解析。
2.3 heredoc 语法结构:<<<
—— 在该运算符之后要提供一个标识符(字母、数字、下划线,并且必须以字母和下划线作为开头),然后换行。接下来是字符串 string 本身,最后要用前面定义的标识符作为结束标志。结束时所引用的标识符必须在该行的第一列(除了可能有一个分号 ; 外,绝对不能包含其它字符,意味着标识符不能缩进,分号的前后也不能有任何空白或制表符)。
—— 不能用来初始化类的属性(自 PHP 5.3 起,此限制仅对 heredoc 包含变量时有效)。
—— heredoc 结构就像是没有使用双引号的双引号字符串:单引号不用被转义,上文中列出的转义序列还可以使用,变量将被替换。
—— 可以把 heredoc 结构用在函数参数中传递数据。
—— 在 PHP 5.3.0 以后,也可以用 heredoc 结构来初始化静态变量和类的属性和常量。
—— 自 PHP 5.3.0 起还可以在 heredoc 结构中用双引号来声明标识符。
2.4 nowdoc 语法结构(自 PHP 5.3.0 起)
—— nowdoc 结构类似于单引号字符串:不进行解析操作。
—— 这种结构很适合用于嵌入 PHP 代码或其它大段文本而无需对其中的特殊字符进行转义。
—— nowdoc 结构和 heredoc 结构类似,但是跟在后面的标识符要用单引号括起来:<<<'EOD'。
—— nowdoc 结构可以用在任意的静态数据环境中,最典型的示例是用来初始化类的属性或常量。
3. 变量解析
—— 双引号或 heredoc 结构定义时。
—— 简单语法:美元符号 $,可以用花括号来明确变量名的界线。