从嵌套数组中获取所有对象键值

时间:2014-08-06 07:02:14

标签: php arrays stdclass

嗨我有一系列对象,如下所示:

     stdClass Object
(
    [row_1_node_1] => stdClass Object
        (
            [probality] => Array
                (
                    [0] => 0.6
                    [1] => 0.4
                )

            [child_name] => Array
                (
                    [0] => node_1
                    [1] => node_2
                )

            [node_type] => decision_node
            [top] => -1482.5
            [left] => 105
            [decision_node] => multiple_choice
            [no_of_nodes] => 2
            [node_name] => Cataract
            [row_2_node_1] => stdClass Object
                (
                    [probality] => Array
                        (
                            [0] => 0.3
                            [1] => 0.6
                            [2] => 0.2
                        )

                    [child_name] => Array
                        (
                            [0] => node_1
                            [1] => node_2
                            [2] => node_3
                        )

                    [node_type] => decision_node
                    [top] => -1516
                    [left] => 205
                    [decision_node] => multiple_choice
                    [no_of_nodes] => 3
                    [node_name] => node_1
                    [row_3_node_1] => stdClass Object
                        (
                            [probality] => Array
                                (
                                    [0] => 0.6
                                    [1] => 0.5
                                )

                            [child_name] => Array
                                (
                                    [0] => node_1
                                    [1] => node_2
                                )

                            [node_type] => event_node
                            [top] => -1584
                            [left] => 305
                            [node_name] => node_1
                            [no_of_event_node_input] => 2
                            [row_4_node_1] => stdClass Object
                                (
                                    [top] => -1618
                                    [left] => 405
                                    [node_name] => node_1
                                )

                            [row_4_node_2] => stdClass Object
                                (
                                    [top] => -1584
                                    [left] => 405
                                    [node_name] => node_2
                                )

                        )

                    [row_3_node_2] => stdClass Object
                        (
                            [probality] => Array
                                (
                                    [0] => 0.6
                                    [1] => 0.5
                                )

                            [child_name] => Array
                                (
                                    [0] => node_3
                                    [1] => node_4
                                )

                            [node_type] => event_node
                            [top] => -1550
                            [left] => 305
                            [node_name] => node_2
                            [no_of_event_node_input] => 2
                            [row_4_node_3] => stdClass Object
                                (
                                    [top] => -1554
                                    [left] => 420
                                    [node_name] => node_3
                                )

                            [row_4_node_4] => stdClass Object
                                (
                                    [top] => -1510
                                    [left] => 416
                                    [node_name] => node_4
                                )

                        )

                    [row_3_node_3] => stdClass Object
                        (
                            [top] => -1516
                            [left] => 305
                            [node_name] => node_3
                        )

                )

            [row_2_node_2] => stdClass Object
                (
                    [top] => -1482
                    [left] => 205
                    [node_name] => node_2
                )

        )

)

任何人都可以帮我解决问题 如何获取所有数字stdClass对象及其值。 我不知道从数组索引访问stdClass对象。 我怎样才能从单个阵列中获得这个 提前谢谢。

1 个答案:

答案 0 :(得分:1)

$array = array(
            'alevel1key1' => array(
                                'alevel2key1' => 'alevel2value1', 
                                'alevel2key2' => array(
                                                     'alevel3key1' => 'alevel3value1',
                                                     'alevel3key2' => 'alevel3value2',
                                                 ),
                             ),
            'blevel1key2' => array(
                               'blevel2key1' => 'blevel2value1'
                             ),
          );


1)现在,如果你想访问let say key alevel3key2的值,那么你可能已经完成了:

$array['alevel1key1']['alevel2key2']['alevel3key2'];


2)现在假设上面的数组是对象,那么你可能已经完成了:

$array->alevel1key1->alevel2key2->alevel3key2;