6.1 字符串的单引号和双引号
字符串是指一连串不中断的字符。标识字符串通常使用单引号或双引号,表面看起来没有什么区别。但是,对于存在于字符串中的变量,这两个是不一样的。
(1)双引号内会输出变量的值。单引号内直接显示变量名称。
(2)双引号中可以通过“\”转义符输出的特殊字符有:
\n | 换行 |
\t | TAB |
\\ | 反斜杠 |
\0 | ASCII码的0 |
\$ | 把此符号转义为单纯的美元符号,而不再作为声明变量的标识符 |
\r | 回车 |
\{octal #} | 八进制转义 |
\x{hexadecimal #} | 十六进制转义 |
另外,单引号中可以通过“\”转义符输出的特殊字符只有:
\' | 转义为单引号本身,而不作为字符串标识符 |
\\ | 用在单引号前的反斜杠转义为其本身 |
下面通过实例来讲解它们的不同用法。
【例6.1】(实例文件:ch06\6.1.php)
<HTML> <HEAD><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /></HEAD> <BODY> <?php $message = "字符串的程序。"; echo "这是关于字符串的程序。php programming."; echo "这是一个关于双引号和\$$message<br />"; $message2 = '字符串的程序。'; echo '这是一个关于字符串的程序。string\'s programming.'; echo '这是一个关于单引号的$message2\\'; echo $message2; ?> </BODY> </HTML>
运行结果如图6-1所示。
【案例分析】
(1)第一段程序使用双引号对字符串进行处理。\$转义成了美元符号。$message的值"字符串的程序。"被输出来。
(2)第二段程序使用单引号对字符串进行处理。\'转义了单引号。$message2的值在单引号的字符串中无法被输出来。但是可以通过变量被直接打印出来。\\转义了在单引号结尾前的反斜杠。