2012-02-20 9 views
1

私はstdObjectsのstdObect配列にどのようにアクセスできるのだろうかと思います。stdClassのstdClass配列のメンバーにアクセスするにはどうすればよいですか?

stdClass Object ([item] => Array(
    [0] => stdClass Object([id] => 0 [name] => Peter) 
    [1] => stdClass Object([id] => 1 [name] => Jack))) 

私は名前のフィールドにアクセスするにはどうすればよい:私はprint_r()でそれを印刷するとき、このようになります配列を持っていますか?それは、配列なかった場合、私は次のように、フィールドを呼び出すことにより、属性を得ることができる:

$client = new SoapClient("http://url.to.my.wsdl", array("trace" => 0)); 
echo $client->GetPerson()->name; 

しかし、配列を使用している場合、これは動作しません:

ちょうど私にエラーを与える
$client = new SoapClient("http://url.to.my.wsdl", array("trace" => 0)); 
$persons = $client->GetPersons(); 
echo $persons[0]->name; 

Fatal error: Cannot use object of type stdClass as array 

答えて

2

あなたますprint_rの情報によると、ちょうど試してください

echo $persons->item[0]->name 
1

はこれを試してみてください。

$persons->item[0]->name; 
+0

ありがとうございます! 3人の異なる人からの3つの等しい答え:まったく同じ時間に、少なくとも評判の良い人に「正しい答え」を与えます(@レイク)。希望はOKです:) – Rox

+0

もちろんです。 – Rufinus

1

配列はフィールドitemの内部に収容されています。

echo $persons->item[0]->name; 
+0

ありがとうございました! 3人の異なる人からの3つの等しい答え:まったく同じ時間に、少なくとも評判の良い人に「正しい答え」を与えます(@レイク)。ホープthat's ok :) – Rox

関連する問題