首頁 >後端開發 >php教程 >如何将一个树状数组转换为一个普通的二维数组

如何将一个树状数组转换为一个普通的二维数组

WBOY
WBOY原創
2016-06-23 14:03:011215瀏覽

请教如何将一个树状数组转换为一个普通的二维数组 

元素的顺序不要紧~~只要是这个结构就行了

例如
Array
(
    [0] => Array
        (
            [kind_id] => 1103
            [kind_fid] => 1101
            [kind_name] => asdfsadf
            [children] => Array
                (
                    [0] => Array
                        (
                            [kind_id] => 1109
                            [kind_fid] => 1103
                            [kind_name] => testt
                            [children] => Array
                                (
                                )

                        )

                )

        )

    [1] => Array
        (
            [kind_id] => 1104
            [kind_fid] => 1101
            [kind_name] => sdfsdf
            [children] => Array
                (
                    [0] => Array
                        (
                            [kind_id] => 1110
                            [kind_fid] => 1104
                            [kind_name] => test222
                            [children] => Array
                                (
                                )

                        )

                )

        )

    [2] => Array
        (
            [kind_id] => 1107
            [kind_fid] => 1101
            [kind_name] => aaaaaaaa
            [children] => Array
                (
                )

        )

)


转为
Array
(
[0] => Array
        (
            [kind_id] => 1103
            [kind_fid] => 1101
            [kind_name] => asdfsadf
         )
[1] => Array
        (
            [kind_id] => 1109
            [kind_fid] =>1103
            [kind_name] => asdfsadf
         )
[2] => Array
        (
            [kind_id] => 1104
            [kind_fid] => 1101
            [kind_name] => asdfsadf
         )
[3] => Array
        (
            [kind_id] => 1110
            [kind_fid] => 1104
            [kind_name] => asdfsadf
         )
[4] => Array
        (
            [kind_id] => 1107
            [kind_fid] => 1101
            [kind_name] => asdfsadf
         )

)


回复讨论(解决方案)

$ar = array (  0 =>   array (    'kind_id' => '1103',    'kind_fid' => '1101',    'kind_name' => 'asdfsadf',    'children' =>     array (      0 =>       array (        'kind_id' => '1109',        'kind_fid' => '1103',        'kind_name' => 'testt',        'children' =>         array (        ),      ),    ),  ),  1 =>   array (    'kind_id' => '1104',    'kind_fid' => '1101',    'kind_name' => 'sdfsdf',    'children' =>     array (      0 =>       array (        'kind_id' => '1110',        'kind_fid' => '1104',        'kind_name' => 'test222',        'children' =>         array (        ),      ),    ),  ),  2 =>   array (    'kind_id' => '1107',    'kind_fid' => '1101',    'kind_name' => 'aaaaaaaa',    'children' =>     array (    ),  ),);print_r(untree($ar));function untree($ar) {  $res = array();  foreach($ar as $v) {    $t = $v['children'];    unset($v['children']);    $res[] = $v;    if($t) $res = array_merge($res, untree($t));  }  return $res;}
Array
(
    [0] => Array
        (
            [kind_id] => 1103
            [kind_fid] => 1101
            [kind_name] => asdfsadf
        )

    [1] => Array
        (
            [kind_id] => 1109
            [kind_fid] => 1103
            [kind_name] => testt
        )

    [2] => Array
        (
            [kind_id] => 1104
            [kind_fid] => 1101
            [kind_name] => sdfsdf
        )

    [3] => Array
        (
            [kind_id] => 1110
            [kind_fid] => 1104
            [kind_name] => test222
        )

    [4] => Array
        (
            [kind_id] => 1107
            [kind_fid] => 1101
            [kind_name] => aaaaaaaa
        )

)

版主牛叉!~

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn