2013-05-25 4 views
7

Ich versuche, verschachtelte Array-Element wie folgt zugreifen:Unterschiede beim Zugriff auf Arrays in PHP 5.3 und 5.4 oder Konfigurationskonflikte?

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

Es ist innerhalb Module.php von Rahmen 2 Projekts Zend. $sm->get('Config') ein Array zurück, die ich oben mit Code lokal zugreifen kann, mit PHP 5.4, während Maschine dabei auf Kunden, es gibt mir eine Fehlermeldung:

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

Gibt es einen Unterschied in PHP 5.3 < => 5.4 Zugriff auf geschachtelte Arrays oder ich habe einige Standard-PHP-Konfiguration, die auf Clients machne anders eingestellt ist?

Antwort

20

Array dereferencing, was Sie verwenden, wurde in PHP 5.4 eingeführt und wird in PHP 5.3 nicht funktionieren.

So

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

Würde sein müssen:

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

Ahhh Sie so viel für die schnelle Antwort danke :) – kamil