Почему PHP выдает эту ошибку разбора?
У меня есть маленький вопрос для всех вас. В настоящее время у меня есть мой сайт на 000webhost и следующая строка:
$price = explode(".",$item->sellingStatus->currentPrice)[0];
вызывает следующую ошибку:
Ошибка разбора: синтаксическая ошибка, неожиданная '[' в /home/a1257018/public_html/scripts/myfile.php в строке 58
Когда это не вызывает это на localhost. Код должен работать... Explode возвращает массив и [0]
просто вызывает первый пункт. Почему это выдает ошибку?
3 ответа
Этот синтаксис разрешен только в 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];
Это должно работать.