Php 如何在单个数组中合并多个数组
我搜索了很多,但并没有得到将数组合并到单个数组中的完美解决方案。 这些阵列是动态的,未来可能会增加-将增加50+。因此,我们必须使用count或for循环来获取并合并 这是我的代码,我正试图在核心级别上解析它。请告诉我如何在单个数组中接收所有值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] =
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;
}