PHP三种字符串界定符的区别

  单引号,双引号,<<<的区别如下:

  前续:今天突然遇到了<<<EOT,可在运行的时候出错了,所以就度娘了下。

1、单引号:’a string’
   \’是唯一的转义码,不能内嵌变量(包含的变量,是不作解析的,只是照原样输出)。

2、双引号: ”a $better string\n”
  标准的转义码能正常使用,可内嵌变量(包含的变量,PHP会解析)。

3、“Here-doc” 语法: PHP界定符

1 $a=1;  
2 echo <<<EOT  
3 <script language="JavaScript" type="text/JavaScript">  
4 var a = $a;  
5 alert(a);  
6 </script>  
7 EOT;

  <<<EOTEOT界定符,他们之间的内容php将会识别为一段大的字符串,相当于""双引号。对于多行的大文本或html非常有用,并且支持内嵌变量。

  其作用可归纳为3点:

  1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的所有东西;

  2.在PHP定界符中的任何特殊字符都不需要转义,照常书写;

  3.PHP定界符中的PHP变量会被正常的用其值来替换(php解析嵌套变量)。

  注意事项:

  1.在<<<之后的字符EOT是自己定义的,随便什么都是可以的,但是结尾处的字符一定要和他一样,他们是成对出现的。

  2.以<<<EOT开头,后面另起新行。 结尾EOT; 单独占用一行,前后不能有包含空格在内的任何字符。

  3.内嵌的php变量,必要时要用{}括起来是要告诉PHP解析器这是一个PHP变量,例如{$name}来避免产生歧义,其它情况可以不用{}。
  注意:  

 

综合上述可以看出,单引号执行效率是比后两种要高。所以在使用过程过应该酌情而定。

 

参考文章:

http://www.oschina.net/question/234345_42240

http://www.chinaz.com/program/2009/0216/67050.shtml

http://blog.csdn.net/zollty/article/details/6614655

 

posted on 2016-04-25 16:34  yycode  阅读(3713)  评论(0)    收藏  举报

导航