Php 如何将数组多键合并到单个数组

Php 如何将数组多键合并到单个数组,php,Php,我有一个多级数组 $array = array("14529" => array("900" => array("87" => array() ) ) ); print_r(array_keys($array)); // result array("14529"); 如何将此数组合并到单个数组 $array = array("14529", "900", "87"); 这里有一个函数,它可以满足您的需要。它是递归完成的,所以不管数组有多深 function mergeAr

我有一个多级数组

$array = array("14529" => array("900" => array("87" => array() ) ) );

print_r(array_keys($array)); // result array("14529");
如何将此数组合并到单个数组

$array = array("14529", "900", "87");

这里有一个函数,它可以满足您的需要。它是递归完成的,所以不管数组有多深

function mergeArrayMultiKeyToSingleArray($array, $result=[])
{
    foreach($array as $key => $value) {
        $result[] = $key;
        if(is_array($value)) {
            $result = mergeArrayMultiKeyToSingleArray($value, $result);
        }
    }

    return $result;
}

// USAGE:
$array = array("14529" => array("900" => array("87" => array() ) ) );
$array = mergeArrayMultiKeyToSingleArray($array);
// $array is now ["14529", "900", "87"]

这里有一个函数,它可以满足您的需要。它是递归完成的,所以不管数组有多深

function mergeArrayMultiKeyToSingleArray($array, $result=[])
{
    foreach($array as $key => $value) {
        $result[] = $key;
        if(is_array($value)) {
            $result = mergeArrayMultiKeyToSingleArray($value, $result);
        }
    }

    return $result;
}

// USAGE:
$array = array("14529" => array("900" => array("87" => array() ) ) );
$array = mergeArrayMultiKeyToSingleArray($array);
// $array is now ["14529", "900", "87"]

我是通过课堂上的练习来完成的

class ArrayStripper
{
    private $items = [];

    public function strip($arrayOrItem)
    {
        if(is_array($arrayOrItem))
        {
            foreach ($arrayOrItem as $item)
            {
                $this->strip($item);
            }
        }
        else
        {
            $this->items[] = $arrayOrItem;
        }
    }

    public function get()
    {
        return $this->items;
    }
}

我是通过课堂上的练习来完成的

class ArrayStripper
{
    private $items = [];

    public function strip($arrayOrItem)
    {
        if(is_array($arrayOrItem))
        {
            foreach ($arrayOrItem as $item)
            {
                $this->strip($item);
            }
        }
        else
        {
            $this->items[] = $arrayOrItem;
        }
    }

    public function get()
    {
        return $this->items;
    }
}
使用类的解决方案:

输出:

Array
(
    [0] => 14529
    [1] => 900
    [2] => 87
)
使用类的解决方案:

输出:

Array
(
    [0] => 14529
    [1] => 900
    [2] => 87
)

你检查过这个链接了吗?你尝试过什么吗?你忘了将这个问题设置为已回答吗?你检查过这个链接了吗?你尝试过什么吗?你忘了将这个问题设置为已回答吗?漂亮的解决方案。漂亮的解决方案。