获取一个数字的 PHP 对象属性

2022-08-30 13:17:00

我正在尝试从解码为PHP对象的JSON数据中获取属性。它只是一个YouTube数据API请求,返回一个视频对象,该对象具有内容对象的喜欢;

[content] => stdClass Object
                (
                    [5] => https://www.youtube.com/v/r4ihwfQipfo?version=3&f=videos&app=youtube_gdata
                    [1] => rtsp://v4.cache7.c.youtube.com/CiILENy73wIaGQn6pSL0waGIrxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
                    [6] => rtsp://v6.cache3.c.youtube.com/CiILENy73wIaGQn6pSL0waGIrxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
                )

行为

$object->content->5

抛出“意想不到的T_DNUMBER” - 这是非常有道理的。但是,如何获取数字属性的值呢?

我相信我应该知道这一点。提前致谢。


答案 1

这应该有效:

$object->content->{'5'}


答案 2

另一种可能性是使用第二个参数来json_decode:

$obj = json_decode(str, true);

您将获得一个数组而不是一个PHP对象,然后您可以像往常一样为其编制索引:

$obj['content'][5]

推荐