Я пытаюсь получить доступ к вложенному элементу массива следующим образом:
$dbSettings = $sm->get( 'Config' )[ 'doctrine' ][ 'connection' ][ 'orm_default' ][ 'params' ];
Он находится внутри Module.php
проекта Zend's framework 2. $sm->get('Config')
возвращает массив, к которому я могу получить доступ с кодом выше локально, с PHP 5.4, делая это на машине клиента, это дает мне ошибку:
Parse error: syntax error, unexpected '[' in /home/.../azk/module/Main/Module.php on line 121
Есть ли разница в PHP 5.3 <=> 5.4 при доступе к вложенным массивам или у меня есть некоторая настройка PHP по умолчанию, которая по-разному установлена на клиентах machne?
Разрушение массива , которое вы используете, было введено в PHP 5.4 и не будет работать в PHP 5.3.
Так
$dbSettings = $sm->get( 'Config' )[ 'doctrine' ][ 'connection' ][ 'orm_default' ][ 'params' ];
Должно быть:
$dbSettings = $sm->get( 'Config' ); $params = $dbSettings[ 'doctrine' ][ 'connection' ][ 'orm_default' ][ 'params' ];