前言
应该大部分人都知道,在 C、 C++、 Java 等语言中,单引号引用的是单个字符,双引号引用的是一个字符串。笔者之前接触 JavaScript 比较多,在 JavaScript 中单双引号是没有区别的,都可用于引用 string 类型的变量( 在 JSON 中,字符串必须加双引号,单引号会导致语法错误 )。但笔者最近才发现,在 PHP 中单双引号的区别与这些语言都不一样,以下谨作为记录。
单引号
在 PHP 中,用单引号(’)把一个字符串包围起来,代表引用的仅仅是这个字符串本身。也就是说变量 $test
以及转义序列 \n
或者 \r
等并不代表任何含义,就单纯是这几个字符串本身。举几个简单栗子如下:
|
|
双引号
与上述所说的单引号不同,PHP中的双引号(”)则会对变量、转义字符等特殊字符进行解析。举几个栗子如下:
|
|
结束语
总结成一句话就是, PHP 里的单引号把内容当成纯文本,不经过服务器翻译,而双引号里面的内容则会经过服务器处理。由于存在这个区别,在PHP中使用引号时结合点操作符(.)操作字符串就可以非常灵活了。比如:
|
|
怎么样,是不是觉得PHP的这个特性很神奇?