加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

string – PHP heredoc解析错误

发布时间:2020-12-13 22:19:32 所属栏目:PHP教程 来源:网络整理
导读:这会产生输出页面OK $mystring = "EOT"; 用以下产品替换它 Parse error: syntax error,unexpected $end in file.php on line 737 $mystring = EOT This is some PHP text. It is completely free I can use "double quotes" and 'single quotes',plus $varia
这会产生输出页面OK

$mystring = "<<<EOT";

用以下产品替换它

Parse error: syntax error,unexpected $end in file.php on line 737

$mystring = <<<EOT
   This is some PHP text.
   It is completely free
   I can use "double quotes"
   and 'single quotes',plus $variables too,which will
   be properly converted to their values,you can even type EOT,as long as it
   is not alone on a line,like this:
EOT;

关于是什么导致解析器窒息的任何想法?

我使用的是PHP 4.4.7.

只有一个文件才会发生此行为,所有其他行为都遵循PHP定义的功能.

我试图重述的是在程序行中可能出错的地方,以便PHP解析器在此失败中显示.

约翰

将文件内容更改为: –

<?php

$mystring = <<<WHATEVER
   This is some PHP text.
WHATEVER;
?>

结果=

解析错误:语法错误,第5行的file.php中的意外$end

任何线索

编辑

原始错误与T_ENCAPSED_AND_WHITESPACE有关,这可能是由jQuery引起的,例如“if(x == y){$(‘#my_image’).hide():}”在heredoc内是bigram“{$将启动解析器寻找替代的php变量.

编辑

2个好的回答.

1)Ch4m3l3on – “<?php”vs“<?”处理. 2)Disintegrator – < q>与愚蠢的程序有类似的问题,该程序坚持将BOM放入utf-8文件(忽略首选项)< / q>.

编辑

1)用单个块替换所有内容并不能解决问题或提供任何其他指针.

2)没有BOM(字节顺序标记),可惜这个或类似的majic字符会完美地解释所有症状.

解决方法

你必须把你的结尾heredoc放在行的开头.如果您使用某些具有缩进的IDE,请将其删除!你的结尾heredoc必须与你的结束php标签垂直在同一行(

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读