怎么把 多维数组 转化为 一个二维数组

#1 backphp

$a = array(
    '0' => array(
            'cid' => 1,
            'pid' => 0,
            'name' => '中国',
            'rank' => 0,
            'status' => 0,
            'child' => array(
                    '0' => array(
                            'cid' => 3,
                            'pid' => 1,
                            'name' => '安徽',
                            'rank' => 0,
                            'status' => 0,
                            'child' => array(
                                    '0' => array(
                                            'cid' => 7,
                                            'pid' => 3,
                                            'name' => '黄山',
                                            'rank' => 0,
                                            'status' => 0,
                                        ),

                                ),

                        ),

                    '1' => array(
                            'cid' => 4,
                            'pid' => 1,
                            'name' => '北京',
                            'rank' => 0,
                            'status' => 0,
                        ),

                    '2' => array(
                            'cid' => 5,
                            'pid' => 1,
                            'name' => '重庆',
                            'rank' => 0,
                            'status' => 0,
                        ),

                )

        ),

    '1' => array(
            'cid' => 2,
            'pid' => 0,
            'name' => '海外',
            'rank' => 0,
            'status' => 0,
            'child' => array(
                    '0' => array(
                            'cid' => 6,
                            'pid' => 2,
                            'name' => '美国',
                            'rank' => 0,
                            'status' => 0,
                            'child' => array(
                                    '0' => array(
                                            'cid' => 8,
                                            'pid' => 6,
                                            'name' => '纽约',
                                            'rank' => 0,
                                            'status' => 0,
                                        )
                                )
                        )

                )

        )

);

怎么得到 $b数组

$b=array(
                    '0' => array(
                            'cid' => 4,
                            'pid' => 1,
                            'name' => '中国',
                            'rank' => 0,
                            'status' => 0,
                        ),

                    '1' => array(                            'cid' => 4,                            'pid' => 1,                            'name' => '安徽',                            'rank' => 0,                            'status' => 0,                        ),
                    '2' => array(                            'cid' => 5,                            'pid' => 1,                            'name' => '黄山',                            'rank' => 0,                            'status' => 0,                        ),
                    '3' => array(
                            'cid' => 5,                            'pid' => 1,                            'name' => '北京',                            'rank' => 0,                            'status' => 0,                        ),
)

2013-10-31 14:33:40

#2 jake

就是去掉child?
$b = array();
foreach $a as $节点{
if $节点 is_array 就跳过
else $b[] = $节点
}

2013-10-31 14:43:39

#3 backphp

jake 发表于 2013-10-31 14:43
就是去掉child?
$b = array();
foreach $a as $节点{
也可以说是去掉child     

最后 得根据  传入数组的顺序  遍历成新的数组  顺序不变的全部排列出来

2013-10-31 14:55:06

#4 jake

backphp 发表于 2013-10-31 14:55
也可以说是去掉child     

最后 得根据  传入数组的顺序  遍历成新的数组  顺序不变的全部排列出来
按上面的去做就行,顺序不会变。

或者实际写一下程序就知道了。

2013-10-31 15:43:03

#5 backphp

jake 发表于 2013-10-31 15:43
按上面的去做就行,顺序不会变。

或者实际写一下程序就知道了。
感谢老大  问题已解决

2013-11-01 11:12:10