字符串是连续的字符序列,由数字、字母和符号组成。字符串中的每个字符只占用一个字节。在PHP中,有3种定义字符串的方式,分别是单引号(')、双引号(")和界定符(<<<)。单引号和双引号是经常被使用的定义方式,定义格式如下:
<?php <?php
$a =‘字符串’; 或 $a ="字符串";
?> ?>
单引号与双引号的区别:
(1)两者的不同之处在于,双引号中所包含的变量会自动被替换成实际数值,而单引号中包含的变量则按普通字符串输出。
下面的实例分别应用单引号和双引号来输出同一个变量,其输出结果完全不同,双引号输出的是变量的值,而单引号输出的是字符串“$i”。(2)对转义字符的使用。使用单引号时,只要对单引号“‘”进行转义即可,但使用双引号(“)时,还要注意“””、“$”等字符的使用。这些特殊字符都要通过转义符“”来显示。常用的转义字符如下表所示。
转义字符 | 输出 |
n | 换行(LF 或 ASCII 字符 0x0A(10)) |
r | 回车(CR 或 ASCII 字符 0x0D(13)) |
t | 水平制表符(HT 或 ASCII 字符 0x09(9)) |
反斜杠 | |
$ | 美元符号 |
' | 单引号 |
" | 双引号 |
[0-7]{1,3} | 此正则表达式序列匹配一个用八进制符号表示的字符,如467 |
x[0-9A-Fa-f]{1,2} | 此正则表达式序列匹配一个用十六进制符号表示的字符,如x9f |
n和r在Windows系统中没有什么区别,都可以当作回车符。但在Linux系统中则是两种效果,在Linux中,n表示换到下一行,却不会回到行首;而r表示光标回到行首,但仍然在本行。如果读者使用Linux操作系统,可以尝试一下。
注意:如果对非转义字符使用了“”,那么在输出时,“”也会跟着一起被输出。
说明:在定义简单的字符串时,使用单引号是一个更加合适的处理方式。如果使用双引号,PHP将花费一些时间来处理字符串的转义和变量的解析。因此,在定义字符串时,如果没有特别的要求,应尽量使用单引号。
界定符(<<<)是从PHP 4.0开始支持的。在使用时后接一个标识符,然后是字符串,最后是同样的标识符结束字符串。界定符的格式如下:
$string = <<< str
要输出的字符串。
str
其中str为指定的标识符。
下面使用界定符输出变量中的值,可以看到,它和双引号没什么区别,包含的变量也被替换成实际数值。注意:结束标识符必须单独另起一行,并且不允许有空格。在标识符前后有其他符号或字符,也会发生错误。例3.3中的注释部分在练习时一定不要输入,否则将出现“Parse error: parse error, unexpected T_SL in D:AppServwwwtmsl33index.php on line…”的错误提示。