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

发布于 2025-01-07 06:16:27 字数 751 浏览 3 评论 0原文

我想知道如何访问 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

I am wondering how I can access a stdObect array of stdObjects. I have an array that looks something like this when printing it with print_r():

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

How can I access the name field? If it not was an array, I could get the attributes by calling the field, like:

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

But when using arrays, this does not work:

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

That just gives me the error:

Fatal error: Cannot use object of type stdClass as array

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

可爱咩 2025-01-14 06:16:27

根据你的 print_r 信息,试试

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

According to your print_r info ,just try

echo $persons->item[0]->name
烦人精 2025-01-14 06:16:27

试试这个:

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

try this:

$persons->item[0]->name;
自演自醉 2025-01-14 06:16:27

该数组包含在字段 item 内。

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

The array is contained inside the field item.

echo $persons->item[0]->name;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文