循环遍历多维stdclass对象和数组

时间:2013-06-02 21:08:00

标签: php multidimensional-array foreach stdclass

现在试图解决这个问题,但似乎无法做到这一点。我正在开发一个调用API并解码JSON响应的应用程序。我有数据,但我不能“工作”。这是数据:

stdClass Object
(
    [custom_fields] => Array
        (
            [0] => stdClass Object
                (
                    [name] => Heading 1
                    [0] => stdClass Object
                        (
                            [name] => sub_1-1
                            [caption] => SubHeading 1-1
                        )
                    [1] => stdClass Object
                        (
                            [name] => sub_1-2
                            [caption] => SubHeading 1-2
                        )
                )
            [1] => stdClass Object
                (
                    [name] => Heading 2 
                    [0] => stdClass Object
                        (
                            [name] => sub_2-1
                            [caption] => SubHeading 2-1
                        )
                )
        )
    [status] => 200
    [version] => 1.3.2
)

我实际上要做的是设置一个带有标题1和2个子标题的表格。我可以使用$APIRESULT->custom_fields->name获得标题1但我无法获得小标题。我确信这很简单,我只是有一个阻止,但我放弃了,希望有人在这里可以帮助我快速。

提前致谢。

1 个答案:

答案 0 :(得分:0)

在PHP中,变量不能以数字开头,因此您必须以这种方式访问​​它:

$APIRESULT->custom_fields->{'0'}->name // Access name

$APIRESULT->custom_fields->{'1'}->caption // Access something else

解决方案应该有效,但是我不喜欢该数据的结构,因为在我看来应该使用arrays代替对象的属性来存储一些数据,例如几个标题等等。