从对象内部的数组中获取数组键(受保护)值(来自 RTM-php 的响应)?

Posted

技术标签:

【中文标题】从对象内部的数组中获取数组键(受保护)值(来自 RTM-php 的响应)?【英文标题】:Getting array key(protected)-value from an array inside object (response from RTM-php)? 【发布时间】:2014-07-11 06:07:51 【问题描述】:

当为 RTM (https://github.com/bartosz-maciaszek/php-rtm) 使用 php 库时,我收到了一个特定任务列表的响应,如下所示:

Rtm\DataContainer Object
(
    [attributes:Rtm\DataContainer:private] => Array
        (
            [0] => Rtm\DataContainer Object
                (
                    [attributes:Rtm\DataContainer:private] => Array
                        (
                            [id] => 19594773
                            [taskseries] => Rtm\DataContainer Object
                                (
                                    [attributes:Rtm\DataContainer:private] => Array
                                        (
                                            [id] => 310899576
                                            [created] => 2013-10-03T05:35:52Z
                                            [modified] => 2013-11-06T17:24:36Z
                                            [name] => A new task
                                            [source] => js
                                            [url] => 
                                            [location_id] =>

                                        )
                                )
                        )
              )
      )
)

我想获取[name] 的值。我该怎么做?

【问题讨论】:

【参考方案1】:

据我从文档中了解到,您必须调用类似

$receivedObject->getTaskSeries()->getName()

或者有一个建议将 toArray 或 toJson 应用于返回的对象 - 这应该可以。

【讨论】:

感谢您的回答,但getName() 给出了致命错误:Call to a member function getName() on a non-object。 toArray 可能是正确的方法。 好的。把它修好了..使用 foreach 遍历它对我有用。但是对于真正的响应对象,我必须使用 foreach 两次:foreach ($response as $item) $ts = $item->getTaskseries(); foreach ($ts as $item2) $name[] = $item2->getName(); print_r($name[0]);

以上是关于从对象内部的数组中获取数组键(受保护)值(来自 RTM-php 的响应)?的主要内容,如果未能解决你的问题,请参考以下文章

Javascript - 从对象内部的数组中获取唯一值

如何访问受保护的数组值?

如何从对象数组中获取键值列表-JavaScript [重复]

在PHP中访问数组中的受保护对象

如何根据对象数组中的键获取值javascript

获取内部数组键的数组值[重复]