2013-05-25 2 views
7

私はこのようなネストされた配列の要素にアクセスしようとしている:PHP 5.3と5.4の配列へのアクセスの違いか、設定の不一致がありますか?

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

それは内部のZendのフレームワーク2プロジェクトのModule.phpです。クライアントのマシン上でそうする一方で、それは私にエラーを与え、私はPHP 5.4で、ローカルに上記のコードでアクセスできる配列を返す$sm->get('Config')

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

は、アクセスする際にPHP 5.3 => 5.4 <の違いはありますネストされた配列または私はクライアントmachneに異なって設定されているいくつかのデフォルトのPHP設定を持っていますか?

答えて

20

Array dereferencingは、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' ]; 
+0

ああ迅速な答えをあなたにそんなに感謝:) – kamil

関連する問題