PHP双引号与单引号有什么区别?PHP用双引号或单引号包含的字符都当作字符串,而它们的用法会不会完全相同呢?答案是否定的。
PHP双引号与单引号例子:
// 例1 $str1 = 'Hello World'; $str2 = "Hello World"; if ($str1 == $str2) echo 'true'; else echo 'false'; // 输出结果:true
// 例2 $World = 'World'; $str1 = 'Hello $World'; $str2 = "Hello $World"; if ($str1 == $str2) echo 'true'; else echo 'false'; // 输出结果:false
例1中输出结果是true,说明用单引号与用双引号包含的字符串是一样的,在例2中为什么$str1和$str2又不相同呢?
如果分别打印$str1和$str2
echo $str1; // 输出:Hello $World; echo $str2 // 输出:Hello World;
区别就出来了,用单引号包含的字符串原样输出,用双引号包含的字符串中的变量$World变成字符串World输出了。被双引号所包含的字符串需被被分析器解析,而单引号包含的字符串直接当作字符串处理,所以使用单引号比使用双引号的效率要高,这在编程时值得注意,但如果字符串中含有多个变量,直接用双引号中间写变量是一个好选择,可减去字符串拼接,代码就更简洁。