Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据php解析器,我会得到一个语法错误_Php - Fatal编程技术网

根据php解析器,我会得到一个语法错误

根据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

我只是缩小了这些奇怪的错误,只是在某些环境中发生的一个

下面的代码在我的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'])) {
    ?>
    <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>';
}
?>