欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-02 18:42:18
...
请教如何将一个树状数组转换为一个普通的二维数组

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

例如
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
)

)

版主牛叉!~