为什么PHP抛出此解析错误?

时间:2013-11-02 17:54:28

标签: php arrays parsing php-parse-error

我向你们提出了一个小问题。我目前在000webhost上有我的网站,以及以下行:

$price  = explode(".",$item->sellingStatus->currentPrice)[0];

导致以下错误:

  

解析错误:语法错误,意外'['in   第58行/home/a1257018/public_html/scripts/myfile.php

当它在localhost上没有引起这种情况时。代码应该有效... explode返回一个数组,[0]只调用第一个项目。为什么会抛出错误?

3 个答案:

答案 0 :(得分:10)

此语法仅允许在PHP 5.4+中使用。您必须在旧版本中使用临时变量:

$tmp = explode('.', $item->sellingStatus->currentPrice);
$price  = $tmp[0];

已经discussed on SO

答案 1 :(得分:1)

将其用作

$array  = explode(".", $item->sellingStatus->currentPrice);
$price = $array[0];

这是因为您的服务器因php < 5.4而不支持此语法,5.3.19same error使用php-5.4显示working here。< / p>

答案 2 :(得分:0)

$price  = explode(".",$item->sellingStatus->currentPrice);
$currentPrice = $price[0];

这应该有用。