解析服务器错误,在localhost上运行
我有几行代码可以在PHP Version 5.4.19的本地主机上正常运行,但似乎无法在运行5.3.3的服务器上运行。 在我的服务器上出现以下错误:
解析错误:语法错误,意外的'[',期待','或';' 在147行/var/www/html/newpage.php
似乎给出错误的代码是:
146. <a href=faq.php?id=<?php echo $systemId ?> class="menuitem">FAQ</a>
147. <a href="<?php echo getLink($systemId,'map1')['link'];?>" class="menuitem">Test</a>
148. <a href="<?php echo getLink($systemId,'map2')['link'];?>" class="menuitem">Test1</a>
149. <a href="<?php echo getLink($systemId,'map3')['link'];?>" class="menuitem">Test2</a>
150. <a href="<?php echo getLink($systemId,'list')['link'];?>" class="menuitem">Test3</a>
151. <a href="<?php echo getLink($systemId,'map4')['link'];?>" class="menuitem">Test4</a>
152. <a href="index.php" class="menuitem">Frontpage</a>
上面代码中调用的函数(getLink)如下所示:
function getLink($id, $category){
$category = mysql_real_escape_string($category);
$id = mysql_real_escape_string($id);
$result = mysql_query("SELECT * FROM `links` WHERE `category` = '$category' AND `text_id` = '$id'");
return mysql_fetch_assoc($result);
}
函数getLink应该工作得很好,数据库被填充。 我试图在getLink上做一些var_dump(),但Parse错误似乎覆盖了该代码?
任何人都知道错误可能在哪里?
您不能直接在PHP <5.4中使用<?php echo getLink($systemId,'map1')['link'];?>
。
你必须这样做,或升级你的服务器的PHP版本:
<?php $l = getLink($systemId,'map1'); echo $l['link']; ?>
你需要PHP 5.4
或更高版本
Function array dereferencing has been added, e.g. foo()[0].
链接地址: http://www.djcxy.com/p/69545.html