php 定界符的有什么作用?

php 定界符的有什么作用?,第1张

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

<<<Eof

……

Eof

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

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

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

结尾的一行(如上例的Eof),一定要另起一行,并且改行除了Eof这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。

如果在本行最前或者最后出现空格,制表符的话,你会收到一个这样的错误信息:

Parse error: parse error, unexpected $end in……,提示你语法错误;

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

<<<Eof

hello{$name}

Eof

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

<<<Eof

hello<?php echo $name?>

Eof

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

<?php

$name = 'kitty'

echo <<<Eof

<table height="20">

<tr><td>

{$name}<br/>

<script>

var p='hello world'

document.writeln(p)

</script>

</td></tr>

</table>

Eof

?>

你的错误之处在于:定界符结尾处多了分号,参见下面注意点2

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

<<<Eof

……

Eof

注意点:

1、<<<之后的字符Eof是自己定义的,随便什么都是可以的(比如AAA都可以),但是结尾处的字符一定要和他一样,因为他们是成对出现的

2、结尾的一行(如上例的Eof),一定要另起一行,除了Eof个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格,制表符,否则出错。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7335257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存