关于php单引号和双引号
好吧,第一篇就这样愉快的开始了!菜鸟进阶,求助攻
在php的数据类型中包含字符串类型:string,其书写格式为$字符串名='内容';例如$a='我是字符串';当然这里如果写成$a="我是字符串";echo结果是一致的。但是二者到底有什么区别:
(1)双引号支持解析,单引号不支持。
<?php
$a=5;
$b="$a是多少";
$c='$a是多少';
echo $b;
echo "<br>";
echo $c;
?>
可以发现输出结果为:
5是多少
$a是多少
因为 $b被赋予的值使用双引号括起来,所以其中的$a被解析成5,但是$c是用单引号括起来的,单引号不能解析输出来的是引号里面的内容。
(2)双引号支持专一字符'\'(注意这里是反斜杠)但是单引号不支持:
<?php
$a=5;
$d="/$a是多少";
$e='/$a是多少';
echo $b;
echo "<br>";
echo $c;
?>
输出结果为:
$a是多少
/$a是多少
由于$d的值使用双引号括起来,里面的转义字符生效。所以输出$a是多少。同样单引号不支持转义字符,转义字符直接以“值”的方式被输出。
另外,如果字符串加双引号,在PHP执行的过程中需要判断双引号里面的值是不是包含变量或者转义。因此同样的
$b="$a是多少";
$c='$a是多少';
在echo的时候,$c的执行效率会高于$b的。因此在些php代码的时候如果不是必须,建议字符串是用单引号。当然如果必须使用双引号的话,可以把其中的变量用大括号括起来。明确表示这是一个变量,需要解析。如:
$b="{$a}是多少";
这样也可以相应的提高执行效率;
-----------------------------OK!
PS: