我有一个小问题要问大家。我目前在 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];
这应该有效。