表示方法有:1、用单引号把字符包围起来,语法“'字符'”;2、用双引号把字符包围起来,语法“"字符"”;3、 heredoc语法结构,语法“<<
本教程操作环境:windows7系统、PHP8.1版,DELL G3电脑
在PHP中有四种方式可以表示字符串,分别是单引号、双引号、heredoc语法结构、nowdoc语法结构。
定义字符串的最简单的方法,用单引号把字符包围起来。使用单引号时,如果要表达单引号或者反斜杠需要使用反斜杠“\”进行转义。单引号中只对这两个字符进行转义。在单引号中的变量和特殊字符的转义序列不会被替换。单引号中的字符可以是多行的。
如果字符被双引号包围,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};符合该正则表达式序列的是一个以十六进制方式来表达的字符
heredoc语法结构是使用<< <加开始标记和结束标记。在<<<之后提供一个标识符(此标识符的命名需要遵循php标签的命名规则,即只能包含字母、数字以及下划线,并且不能以数字开头),然后换行,接下来是字符串本身, 最后用前面定义的标识符做为结束标记。< p>加开始标记和结束标记。在<<<之后提供一个标识符(此标识符的命名需要遵循php标签的命名规则,即只能包含字母、数字以及下划线,并且不能以数字开头),然后换行,接下来是字符串本身,>
需要注意的是,开始标记后必须换行,结束标记所在行除了分号“;”外,不能有包含其他字符包括缩进,分号前后也不能有任何空白或制表符等。
在heredoc结构中,单引号、双引号与回车符(\r)与单个反斜杠是不需要转义的,如果要表示多个反斜杠则需要进行转义,其他转义字符与双引号支持的转义字符相同。heredoc结构类似于双引号字符串。
heredoc结构可以用于变量初始化,也可以用在函数参数中传递数据。从PHP5.3起,如果heredoc中不包含变量,那么也可以用来初始化静态变量和类中的属性、常量。还可以通过双引号声明开始标识符。
bar = array('Bar1', 'Bar2', 'Bar3'); } } $foo = new foo(); echo foo::cons."\n"; echo <<test=> $foo->test. {\$foo->bar[1]}=>{$foo->bar[1]}. EOT; ?>
nowdoc语法结构是PHP5.3引入的,与heredoc语法结构类似,使用<< <加开始标记和结束标记。但是在<<<后面的开始标识符必须用单引号包围起来,heredoc的所有规则同样适用于nowdoc结构,尤其是结束标识符的规则。< p>加开始标记和结束标记。但是在<<<后面的开始标识符必须用单引号包围起来,heredoc的所有规则同样适用于nowdoc结构,尤其是结束标识符的规则。<>
nowdoc结构类似于单引号字符串。nowdoc中不进行解析操作,适用于嵌入PHP代码或大段文本而无需对其中的特殊字符进行转义。与SGML中的结构声明大段的不用解析的文本类似。
bar = array('Bar1', 'Bar2', 'Bar3'); } } $foo = new foo(); echo foo::cons."\n"; echo <<<'EOT' nowdoc中不支持复杂的格式如: \$foo->test=> $foo->test. {\$foo->bar[1]}=>{$foo->bar[1]}. EOT; ?>
推荐学习:《PHP视频教程》
The above is the detailed content of What are the representation methods of php strings?. For more information, please follow other related articles on the PHP Chinese website!