Php 如何在单个数组中合并多个数组

Php 如何在单个数组中合并多个数组,php,arrays,function,arraylist,multidimensional-array,Php,Arrays,Function,Arraylist,Multidimensional Array,我搜索了很多,但并没有得到将数组合并到单个数组中的完美解决方案。 这些阵列是动态的,未来可能会增加-将增加50+。因此,我们必须使用count或for循环来获取并合并 这是我的代码,我正试图在核心级别上解析它。请告诉我如何在单个数组中接收所有值 Array( [0] => Array ( [0] => 123 [1] => 108 [2] => 58 [3] => 23 ) [1] =

我搜索了很多,但并没有得到将数组合并到单个数组中的完美解决方案。 这些阵列是动态的,未来可能会增加-将增加50+。因此,我们必须使用count或for循环来获取并合并

这是我的代码,我正试图在核心级别上解析它。请告诉我如何在单个数组中接收所有值

Array(
[0] => Array
    (
        [0] => 123
        [1] => 108
        [2] => 58
        [3] => 23
    )

[1] => Array
    (
        [0] => 93
        [1] => 94
        [2] => 95
        [3] => 172
        [4] => 30
    )

[2] => Array
    (
        [0] => 109
        [1] => 81
        [2] => 79
        [3] => 155       )

)`
我对结果的期望是:这是我无法得到的

 Array
(
    [0] => 123
    [1] => 108
    [2] => 58
    [3] => 23
    [4] => 93
    [5] => 94
    [6] => 95
    [7] => 172
    [8] => 30
    [9] => 109
    [10] => 81
    [11] => 79
    [12] => 155
)

使用带有splat运算符的数组_merge

$result = array_merge(...$arr);
数组\合并-合并一个或多个数组

-,您可以使用splat运算符。。。创建具有未定义数量的参数的更简单函数

输出:-

使用数组合并

假设阵列将增长,您可以像这样使用foreach:

$a[0] = [1,2,3];
$a[1] = [4,5,6];
$a[2] = [7,8,9];
$newArr = [];

foreach($a as $index){
   foreach($index as $item){
      array_push($newArr, $item);
   }
}

当我使用这种技术时。我的答案很简单。阵列的展平


使用数组\u合并。甚至不尝试?在这种情况下,你甚至可以使用谦逊的foreach。你对完美解决方案的定义是什么?这只是来自DB的动态值的示例代码。请让我知道使用哪种技术在循环中进行合并。您已经知道,这不会很好地扩展,因为您希望它在未来增长,所以您可能应该在查询本身中进行合并,并生成一行selectThank@Rahul。。这是我的工作。。非常感谢。。谢谢你把这件事做得很简单。很乐意帮忙。如果这个答案或任何其他答案解决了您的问题,请将其标记为已接受。@Rahul这太美了!,这是我第一次介绍array_merge…$arr;和splat操作员。我将从现在开始自己实现这个。非常方便。感谢you@freeek我知道我也面临同样的问题;哇,不知道php支持的splat操作符。thx@Rahul!
$a[0] = [1,2,3];
$a[1] = [4,5,6];
$a[2] = [7,8,9];
$newArr = [];

$newArr = array_merge($a[0], $a[1], $a[2]);
print_r($newArr);
$a[0] = [1,2,3];
$a[1] = [4,5,6];
$a[2] = [7,8,9];
$newArr = [];

foreach($a as $index){
   foreach($index as $item){
      array_push($newArr, $item);
   }
}
print_r(array_flatten($overall_arr)); 


function array_flatten($array) {
$return = array();
foreach ($array as $key => $value) {
    if (is_array($value)){
        $return = array_merge($return, array_flatten($value));
    } else {
        $return[$key] = $value;
    }
}
return $return;
}