Intereting Posts
Почему debug_backtrace () использует столько памяти? Гиперссылки на пользователей в рассказах Как успешно выполнить POST на старый сайт ASP.NET с использованием асинхронной обратной передачи Как создать удобный для пользователя URL-адрес с использованием псевдонима и идентификатора из базы данных? Проблема spl_autoload_register при загрузке класса Запуск запроса wordpress каждую неделю Массовая вставка в Laravel с использованием красноречивой ORM Реализация очереди для обработки изображений в Laravel – что стоять в очереди, а что нет? GET переменные с пробелами – они работают, но это правильно или нормально? Конфигурация пользовательской загрузки Codeigniter Вызов wordnet из php (класс Wordnet или API для PHP) Игла в стоге сена с массивом в PHP Does move_uploaded_file () автоматически удаляет временный загруженный файл после SUCCESSful Move? Вложенный цикл с помощью mysqli и fetch_object mysqli_store_result () vs. mysqli_use_result ()

5.4 разыменование на действительный вызов массива 5.3

Я получил ошибку в этой строке кода, которая использует разыменование:

$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];