Я получил ошибку в этой строке кода, которая использует разыменование:
$data['data'] = $results->result()[0];
(Я начал изучать PHP с помощью PHP 5.4.) Как я могу разыменовать в 5.3?
Я проверил документы:
function getArray() { return array(1, 2, 3); } // on PHP 5.4 $secondElement = getArray()[1]; // before PHP 5.4 $tmp = getArray(); $secondElement = $tmp[1]; // or list(, $secondElement) = getArray();
но создание вызова метода кажется громоздким
list () – это то, что вы хотите. Это было навсегда и отлично работает при условии, что значение справа может быть доступно целыми ключами.
<?php list(, $one, , $three) = range(0, 4);
Обратите внимание, что list () не выполняет итерацию ключей (как и foreach), но обращается к целым клавишам по позиции слота (0, 1, …) напрямую. Если эти ключи не существуют, вы получите УВЕДОМЛЕНИЕ, и ваше значение будет равно null.
$res = $results->result(); $data['data'] = $res[0];
Или вы можете использовать переназначение (чтобы избежать необходимости временных переменных):
$data['data'] = $results->result(); $data['data'] = $data['data'][0];