2013-05-25 9 views
7

Próbuję uzyskać dostęp zagnieżdżony element tablicy tak:Różnica w dostępie do tablic w PHP 5.3 i 5.4 lub niektóre niezgodności konfiguracji?

$dbSettings = $sm->get('Config')[ 'doctrine' ][ 'connection' ][ 'orm_default' ][ 'params' ]; 

To wewnątrz Module.php od ramy 2 projektu Zend za. $sm->get('Config') zwraca tablicę, która może uzyskać dostęp z kodem powyżej lokalnie, PHP 5.4, robiąc tak na komputerze klienta, to daje mi błąd:

Parse error: syntax error, unexpected '[' in /home/.../azk/module/Main/Module.php on line 121 

Czy jest jakaś różnica w PHP 5.3 < => 5,4 w dostępie zagnieżdżone tablice lub mam jakąś domyślną konfigurację PHP, która jest ustawiona inaczej na klientach machne?

Odpowiedz

20

Array dereferencing, którego używamy, została wprowadzona w PHP 5.4 i nie będzie działać w PHP 5.3.

Więc

$dbSettings = $sm->get('Config')[ 'doctrine' ][ 'connection' ][ 'orm_default' ][ 'params' ]; 

Czy trzeba być:

$dbSettings = $sm->get('Config'); 
$params  = $dbSettings[ 'doctrine' ][ 'connection' ][ 'orm_default' ][ 'params' ]; 
+0

Ahhh bardzo dziękuję za szybką odpowiedź :) – kamil

Powiązane problemy