如何访问stdClasses的stdClass数组中的成员?

时间:2012-02-20 11:08:53

标签: php arrays wsdl soap-client stdclass

我想知道如何访问stdObjects的stdObect数组。使用print_r()打印时,我有一个看起来像这样的数组:

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

如何访问名称字段?如果它不是一个数组,我可以通过调用该字段来获取属性,如:

$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

3 个答案:

答案 0 :(得分:2)

根据您的print_r信息,试试

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

答案 1 :(得分:1)

试试这个:

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

答案 2 :(得分:1)

数组包含在字段item中。

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