Синтаксис синтаксиса PHP-массива Ошибка анализа левой квадратной скобки "

У меня есть функция, которая возвращает массив. У меня есть еще одна функция, которая просто возвращает первую строку, но по какой-то причине она заставляет меня использовать промежуточную переменную, т. Е. Это не удается:

function f1(/*some args*/) { return /*an array*/; } function f2(/*some args*/) { return f1(/*some args*/)[0]; } 

, , , с:

Ошибка анализа: синтаксическая ошибка, неожиданная '[' в util.php в строке 10

Но это работает:

 function f1(/*some args*/) { return /*an array*/; } function f2(/*some args*/) { $temp = f1(/*some args*/); return $temp[0]; } 

Я не смог найти ничего подходящего онлайн (мои поиски смущались людьми с «?», «{», «<» И т. Д.).

Я самоучка на PHP – есть ли причина, почему я не могу сделать это прямо, что я пропустил?

Вы не можете использовать разыменование функциональных массивов

 return f1(/*some args*/)[0]; 

до PHP 5.4.0 и выше.

Причиной такого поведения является то, что функции PHP не могут быть привязаны, как функции JavaScript. Также возможно document.getElementsByTagNames('a')[0] .

Вы должны придерживаться второго подхода для версии PHP <5.4

Добавлена ​​функция разыменования функциональных массивов, например foo () [0].

http://php.net/manual/en/migration54.new-features.php