为什么 PHP 会抛出这个解析错误



我有一个小问题要问大家。我目前在 000webhost 上有我的网站,以及以下行:

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

导致以下错误:

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

当它在本地主机上不会导致这种情况时。代码应该可以工作...explode 返回一个数组,[0]只是调用第一项。为什么会抛出错误?

这种语法只在 PHP 5.4+ 中被允许。您必须在旧版本中使用临时变量:

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

已经在SO上讨论过。

将其用作

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

这是因为您的服务器由于php < 5.4不支持此语法,这是5.3.19中显示的相同错误,并且在此处使用php-5.4

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

这应该有效。

相关内容

  • 没有找到相关文章