关于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:

posted @ 2013-03-07 12:22  lllito  阅读(251)  评论(0)    收藏  举报