2009-08-16 11 views
0

配列として属性を持つオブジェクトがある場合、そのオブジェクトにアクセスする最も簡単な方法は何ですか?PHP:配列としての属性

$obj->odp = array("ftw", "pwn", array("cool" => 1337)); 

//access "ftw" 
$obj->odp->0 

//access 1337 
$obj->odp->2->cool 

これは機能していないようです。私が間違っていることがあるのですか、あるいは最初にそれを変数に割り当てる必要がありますか?

$arr = $obj->odp; 

//access "ftw" 
$arr[0] 

//access 1337 
$arr[2]["cool"] 

答えて

4

アレイは、アレイの構文($array['key'])でアクセスすると、オブジェクトの構文($object->property)とオブジェクトのみができます。

は、アレイに対してのみオブジェクトのオブジェクトの構文および配列構文を使用します。

$obj->odp[0] 
$obj->odp[2]['cool'] 
+0

あなたは配列の構文でオブジェクトにアクセスできますか? 致命的なエラー:C:\ xampp \ htdocs \ CUMF3 \ sites \ all \ modules \ results \ results.moduleの行80 –

+0

でstdClass型のオブジェクトを配列として使用することはできません。 @ Rosarch:うん、あなたは正しい。 – Gumbo

0

このようにそれを実行します

$obj->odp[0]['cool'] 
0

$obj->odpので$obj->odp[0]は「FTW」読み出し、アレイです。 $obj->odp->0のようなものはありません。

関連する問題