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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM