PHP中的定界符 echo

由于PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,为免出现语法错误,我们引用界定符“<<<”。  
     1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
    2.PHP定界符中的任何特殊字符都不需要转义;
    3.PHP定界符中的PHP变量会被正常的用其值来替换。
   
     书写格式:
    echo <<< xxx
    xxx;
    其中:1、xxx应符合变量名的要求,可以使用中文;
       2、必须存在于独立行中;
       3、xxx; 必须顶格,否则出错;

     PHP中的定界符格式是这样的:
<<;

看起来很简单,但是其中有许多地方需要注意。

首先在<<<之后的字符Eof是自己定义的,随便什么都是可以的,但是结尾处的字符一定要和他一样,他们是成对出现的,就像{}这样的——这是最基本的。

在PHP定界符使用的过程中,第二个需要注意的问题——也是最经常出现问题的地方:

结尾的一行(如上例的Eof;),一定要另起一行,并且改行除了Eof;这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出现空格,制表符的话,你会收到一个这样的错误信息:
Parse error: parse error, unexpected $end in……,提示你语法错误;

第三个需要注意的是,如果在定界符中间出现有PHP的变量,你只需要像在其它字符串中输出一样写就行了,例如:

 

<<

hello{$name}

Eof;

变量$name之所以要用{}括起来是要告诉PHP解析器这是一个PHP变量,其实不用也是可以的,但是有可能会产生歧义,例如你的变量后面刚好不是一字母或者特殊符号什么的会怎么样呢?千万不能有这样的写法:

 

<<

hello

Eof;

这样的情况,你同样会收到一个语法错误的信息。此处是测试过的PHP定界符的正确写法。里面包含了,html和javascript的代码:

 

$name = 'kitty';

echo <<

{$name}

Eof;

?>


转载网址:http://blog.sina.com.cn/s/blog_6d09b5750100w9we.html

你可能感兴趣的:(php)