PHP 7从入门到精通(视频教学版)
上QQ阅读APP看书,第一时间看更新

5.1 字符串的单引号和双引号

字符串是指一连串不中断的字符。这里的字符主要包括以下几种类型:

● 字母类型,如常见的a、b、c等。

● 数字类型,如常见的1、2、3、4等。

● 特殊字符类型,如常见的#、%、^、$等。

● 不可见字符类型,如回车符、Tab字符和换行符等。

标识字符串通常使用单引号或双引号,表面看起来没有什么区别。但是,对于存在于字符串中的变量,这两个是不一样的。

(1)双引号内会输出变量的值。单引号内直接显示变量名称。

(2)双引号中可以通过“\”转义符输出的特殊字符如下。

● \n:新一行。

● \t:Tab。

● \\:反斜杠。

● \0:ASCⅡ码的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;
    ?>
    </BODY>
    </HTML>

运行结果如图5-1所示。可见单引号字符串和双引号字符串在PHP中处理普通的字符串时的效果是一样的,而在处理变量时是不一样的,单引号字符串中的内容只是被当成普通的字符串处理,而双引号字符串的内容是可以被解释并替换的。

图5-1 程序运行结果

【案例分析】

(1)其中,第一段程序使用双引号对字符串进行处理,“\$”转义成了美元符号,$message的值“PHP程序”被输出。

(2)第二段程序使用单引号对字符串进行处理。$message2的值在单引号的字符串中无法被输出,但是可以通过变量直接打印出来。