将数组转换为另一种格式(PHP)

api*_*s17 1 php arrays

我想转换这个数组

 Array
(
    [2] => Array
        (
        )
    [4] => Array
        (
            [12] => Array
                (
                )
            [13] => Array
                (
                 [16] => Array
                    (
                    )
                )
        )
    [5] => Array
        (
        )
    [10] => Array
        (
        )
    [14] => Array
        (
        )
)
Run Code Online (Sandbox Code Playgroud)

进入这种格式

Array
(
    [2] => 2
    [4] => Array
        (
            [0] => 12
            [13] => Array
                (
                    [0] => 16
                )
        )

    [5] => 5
    [10] => 10
    [14] => 14
)
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙吗?谢谢. [续16Mar2010]

不是

[2] =>数组

[2] => 2

如果它是一个包含1个孩子或更多孩子的数组,那么它就是 [4] => Array([12]=>12

输入数据是

$ a = array(2 => array(),4 => array(12 => array(),13 => array(16 => array())),5 => array(),10 => array( ),14 => array());

use*_*291 5

foreach($ary as $k => $v)
  $result[$k] = $v ? array_keys($v) : $k;
Run Code Online (Sandbox Code Playgroud)

未经测试