PHP syntax error, unexpected $end 错误的一种原因及解决

yipeiwu_com6年前PHP代码库
Parse error: syntax error, unexpected $end in script.php on line xx
调试了一会后发现产生错误的行是文件中间某行

//$str .= "?>\n";

想起来了 PHP 解释器允许的结尾标记那行还可以用单行注释,即 //$str .= "?>\n"; 被解释成结尾标记前有注释,注释的内容是 //$str .= ",而 ?> 后面的 \n"; 会被解释作 PHP 块外的内容按 HTML 输出出去!结果是给 $str .= "?>\n"; 这行添加 // 成注释后,反而多了个 ?> 的结束标记,造成原来真正的结束标记成了意料之外的(unexpected)了。
解决办法就是直接删掉这一行即可。

PHP 开始和结束标记所在行别写其它东西,是个好习惯。

相关文章

PHP切割汉字的常用方法实例总结

本文实例讲述了PHP切割汉字的常用方法。分享给大家供大家参考,具体如下: <?php /* @UTF-8编码的字符可能由1~3个字节组成。 */ /*---------...

从PHP的源码中深入了解stdClass类

在百度百科中,对于stdClass的定义如下:复制代码 代码如下:stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。stdClass是PHP的一个基类,...

功能齐全的PHP发送邮件类代码附详细说明

<?php  class Email {  //---设置全局变量  var $mailTo = "...

php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

判断某字符是否包含与某于数组中,方法有很多,刚学习php的新手们估计偏向于使用循环来解决,对于一般的小网站来说,这种解决方案是不会出现什么大问题的。但就性能来说,这种方法不是最好的方法,...

PHP 存储文本换行实现方法

\n LF或ASCII中的0x0A(10) \r CR或ASCII中的0x0D(13) \t 水平制表符-HT或ASCII中的0x09(9) \\ 反斜杠 \$ 美圆符 \" 双引号 \...