- PHP 8从入门到精通(视频教学版)
- 张工厂
- 726字
- 2025-02-19 20:24:59
5.1 字符串的单引号和双引号
字符串是指一连串不中断的字符。这里的字符主要包括以下几种类型:
● 字母类型:如常见的a、b、c等。
● 数字类型:如常见的1、2、3、4等。
● 特殊字符类型:如常见的#、%、^、$等。
● 不可见字符类型:如回车符、Tab字符和换行符等。
标识字符串通常使用单引号或双引号,表面看起来没有什么区别。但是,对于存在于字符串中的变量,这两个是不一样的。
(1)双引号内会输出变量的值,单引号内直接显示变量名称。
(2)双引号中可以通过“\”转义符输出的特殊字符如下:
● \n:新一行。
● \t:Tab。
● \\:反斜杠。
● \0:ASCII码的0。
● \$:把此符号转义为单纯的美元符号,而不再作为声明变量的标识符。
● \r:回车。
● \{octal #}:八进制转义。
● \x{hexadecimal #}:十六进制转义。
另外,单引号中可以通过“\”转义符输出的特殊字符只有:
● \':转义为单引号本身,而不作为字符串标识符。
● \\:用于在单引号前的反斜杠转义为其本身。
下面通过实例来讲解它们的不同用法。
【例5.1】(实例文件:源文件\ch05\5.1.php)
<?php $message = "PHP程序"; //定义字符串变量 echo "这是关于字符串的程序。<br/>"; //输出字符串变量 echo "这是一个关于双引号和\$的$message<br/>"; //使用转义字符 $message2 = '字符串的程序。'; //使用单引号赋值字符串变量 echo '这是一个关于字符串的程序。<br/> '; //输出字符串变量 echo '这是一个关于单引号的$message2'; echo $message2; ?>
运行结果如图5-1所示。可见单引号和双引号在PHP中处理普通的字符串时的效果是一样的,而在处理变量时是不一样的。单引号中的内容只是被当成普通的字符串处理,而双引号中的内容是可以被解释并替换的。

图5-1 程序运行结果
【案例分析】
(1)其中,第一段程序使用双引号对字符串进行处理,“\$”转义成了美元符号,$message的值“PHP程序”被输出。
(2)第二段程序使用单引号对字符串进行处理。$message2的值在单引号的字符串中无法被输出,但是可以通过变量直接打印出来。