根据php解析器,我会得到一个语法错误
我只是缩小了这些奇怪的错误,只是在某些环境中发生的一个 下面的代码在我的linux php 5.3.6默认安装上解析为ok,在windows php 5.4.3默认安装上解析为ok,但在使用windows php 5.3.6的某些windows机器上解析为失败 我们得到的信息是: 分析错误:语法错误,第7行的C:\bogus.php中出现意外的“}” 第7行是“}” 我只能认为这个错误是由php.ini设置引起的。有人知道问题出在哪里吗根据php解析器,我会得到一个语法错误,php,Php,我只是缩小了这些奇怪的错误,只是在某些环境中发生的一个 下面的代码在我的linux php 5.3.6默认安装上解析为ok,在windows php 5.4.3默认安装上解析为ok,但在使用windows php 5.3.6的某些windows机器上解析为失败 我们得到的信息是: 分析错误:语法错误,第7行的C:\bogus.php中出现意外的“}” 第7行是“}” 我只能认为这个错误是由php.ini设置引起的。有人知道问题出在哪里吗 <?php if(!empty($data['foo
<?php
if(!empty($data['foo'])) {
?>
<div>
<?=$data['bar'];if(!empty($data['foo'])) {?> (Foo: <?=$data['foo'];?>) <?php }?></div>
<?php
}
?>
(傅:)
这看起来很奇怪:
<?=$data['bar'];if(!empty($data['foo'])) {?>
你在混合
我会改变所有这些{…}
让你的生活更轻松:
<?php if(!empty($data['foo'])):?>
<div>
<?php echo $data['bar'];
if(!empty($data['foo'])):?>
(Foo: <?php echo $data['foo']?>)
<?php endif?>
</div>
<?php endif?>
(傅:)
使用回音功能在出现问题的环境中尝试删除短标签这对我来说很有吸引力。您是否在php.ini中启用了short_open_标记?此外,您在“我没有启用它”中混合了多个语句。现在,如果我启用它,它就可以工作了。启用它是否是一种好的做法(我是php新手)?可能是因为:1)您在Linux机器上启用了short_open_标记,2)无论配置如何,此标记在PHP5.4中始终处于启用状态。非常感谢!就是这样。救世主:-)
<?php
if(!empty($data['foo'])) {
echo '<div>'.$data['bar'];if(!empty($data['foo']))echo 'Foo:'.$data['foo'];
echo '</div>';
}
?>