返回多个对象和数组中的数组

时间:2015-02-07 22:44:18

标签: php arrays object

我似乎无法弄清楚要打印的正确语法:

[Agriculture] => AGR 
[Animals] => AN 
[Arts and Humanities] => ART
$ TOPIC对象中的

让这更令人困惑的是,$ TOPIC在一个对象中,可以按照与此示例不同的顺序进行调用。所以而不是[3] => stdClass对象,它可以是[4] => stdClass对象,(或任何数字)。

下面包含一些示例foreach语法;它不起作用。

stdClass Object
(
    [123456] => stdClass Object
        (
            [required_actions] => Array
                (
                    [1] => stdClass Object
                        (
                            [maxlength] =>
                            [value] => $MESSAGE
                            [options_hash] =>
                        )
                    [2] => stdClass Object
                        (
                            [maxlength] =>
                            [value] => $NAME_PREFIX
                            [options_hash] => stdClass Object
                                (
                                    [Ms.] => Ms.
                                    [Mrs.] => Mrs.
                                    [Mr.] => Mr.
                                )
                        )
                    [3] => stdClass Object
                        (
                            [maxlength] =>
                            [value] => $TOPIC
                            [options_hash] => stdClass Object
                                (
                                    [Agriculture] => AGR
                                    [Animals] => AN
                                    [Arts and Humanities] => ART
                                )
                        )
                )
        )
)

foreach ($json->123456->required_actions as $info) {
       echo $info->value => $TOPIC->options_hash;
 }

1 个答案:

答案 0 :(得分:0)

解决方案是按值搜索父对象,然后请求子对象的数组。这是我使用的:

foreach ($json->123456->required_actions as $info) {
        if ('$TOPIC' == $info->value) {
       print_r($info->options_hash);
 }
}