【问题标题】:how to get to a specific part of this nested array/object如何到达这个嵌套数组/对象的特定部分
【发布时间】:2011-12-14 01:28:37
【问题描述】:

这让我发疯了,我正试图到达这个对象的特定部分,这让我发疯,这是对象内容:

XMLHandler Object
(
    [doc:XMLHandler:private] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [state] => Live
                )

            [newsListItem] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [href] => http://api.contentplus.co.uk/6cb5ea15-d6b1-4c40-9db7-cb2a3315080b/news/800773226/
                                )

                            [id] => 800773226
                            [publishDate] => 2011-10-24T10:04:49
                            [lastModifiedDate] => 2011-10-24T11:20:40
                            [headline] => Relationships matter on social media
                        )

                )

        )

    [format] => html
) 

我想获取[id] 的值,我正在尝试像这样访问它:

echo $niList->doc->newsListItem[0]->id;

但这并没有给我任何东西,我知道我很接近(我希望我很接近)但我不能完全正确,谁能帮忙。

谢谢大家。

【问题讨论】:

  • 试试echo $niList->newsListItem[0]->id;
  • 这也不起作用,谢谢:) - 更正,我的代码将其视为有效语句,但没有得到任何结果,
  • @Gordon 我不是 100% 确定,我得到了一些代码(不是我编写的),它可以获取 XML 提要的内容,它目前是使用 DOMDocument 编写的,但是我必须将其转换为使用Curl LibrarySimpleXMLElement。所以你认为我需要通过 $this 访问它或在 doc 之外获取它,因为它是私有的?
  • @AdriftUniform 这取决于你想用它做什么。如果你在外面需要它,你必须有某种访问器。

标签: php xml arrays object


【解决方案1】:

你的对象转储说

doc:XMLHandler:private

这意味着docXMLHandler 的私有属性。因此,您只能通过$this 从该对象内访问它。但是当你这样做时,你正试图从对象外部访问它

echo $niList->newsListItem[0]->id;

这行不通。向该 XMLHandler 对象添加一个方法,该方法使用该新闻列表项 ID 执行您想要执行的操作。另请参阅 PHP 手册中有关可见性的章节:

【讨论】:

  • 我明白了,谢谢 Gordon,我会设法将其排除在外并将其公开,另请参阅上面的评论。干杯
猜你喜欢
  • 1970-01-01
  • 2016-11-05
  • 2019-11-02
  • 2019-10-26
  • 2022-01-02
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多