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
)
你检查过这个链接了吗?你尝试过什么吗?你忘了将这个问题设置为已回答吗?你检查过这个链接了吗?你尝试过什么吗?你忘了将这个问题设置为已回答吗?漂亮的解决方案。漂亮的解决方案。