升级php 4.2到5.2短开标签语法错误

时间:2014-01-09 20:24:39

标签: php syntax-error

从PHP 4.2升级到PHP 5.2

<?php $test="hello world";  ?>
<?= $test ?>

返回     你好世界

但是,添加注释斜杠会出现语法错误

<?php $test="hello world";  ?>
<?= //$test ?>

解析错误:语法错误,意外';'在第2行的/home/phpuser/docroot/lapp/test.php

在升级之前添加用于工作的注释斜杠,并在php.ini中启用short_open_tag。

由于

3 个答案:

答案 0 :(得分:1)

<?=实际上等同于<?php echo,因此您基本上拥有<?php echo //$test ?>,因此它会在echo语句之后寻找;

我建议在这种情况下,使用<?php //echo $test ?>来消除错误。

答案 1 :(得分:0)

如果您使用<?=(称为echo short标记),则尝试打印以下表达式的值。你不能发表评论。

您可以将代码更改为

<?php $test="hello world";  ?>
<?php echo $test ?>

然后发表评论:

<?php $test="hello world";  ?>
<?php //echo $test ?>

否则将<?=$test?>更改为<?php /*=$test*/?> 对你的代码产生预期的效果。

参考:http://www.php.net/manual/en/language.basic-syntax.phptags.php

答案 2 :(得分:0)

错误是正确的。 <?= //$test ?>是语法错误。

<?= $test ?>

的缩写
<?php echo $test; ?>

这样做

<?= //$test ?>

就像在做

<?php echo //$test; ?>

这显然是语法错误。