我想将一个数组与当前输出合并,如下所示,与预期输出结合。
我正在使用一个函数array_reduce($currentArray, 'array_merge', array());
,它工作得非常好。但它现在似乎没有用。
当前输出:
Array
(
[0] => Array
(
[0] => Array(...),
[1] => Array(...),
[2] => Array(...),
)
[1] => Array
(
[0] => Array(...),
[1] => Array(...),
[2] => Array(...), "
)
)
预期输出:
Array
(
[0] => Array(...),
[1] => Array(...),
[2] => Array(...),
[3] => Array(...),
[4] => Array(...),
[5] => Array(...),
)
答案 0 :(得分:2)
<强> 1。 call_user_func_array:使用参数数组
调用回调<强> 2。 array_reduce:使用回调函数迭代地将数组减少为单个值
<?php
$array = [
[
[
"name" ,"email", "mobile"
],
[
"name1" ,"email1", "mobile1"
]
],
[
[
"name2" ,"email2", "mobile2"
],
[
"name3" ,"email3", "mobile3"
]
],
];
$flat = call_user_func_array('array_merge', $array);
$flat = array_reduce($array, 'array_merge', array());
echo "<pre>";
print_r($flat);
答案 1 :(得分:0)
你可以试试这个: call_user_func_array
$oneDimensionalArray = call_user_func_array('array_merge', $twoDimensionalArray);
print_r( $oneDimensionalArray);
答案 2 :(得分:-1)
试一试。
$final = array();
foreach($currentArray as $sub_array) {
$final = array_merge($final, $sub_array);
}
foreach循环将遍历数组,数组合并将内容数组与$final
数组合并。
答案 3 :(得分:-3)
我之前使用的最佳解决方案
<强> 样本 强>
<?php
$array = array(
'0' => array("1","2","3"),
'1' => array("1","2","3"),
'2' => array("1","2","3"),
);
echo "<pre>";
print_r($array);
function array_flatten($array) {
if (!is_array($array)) {
return FALSE;
}
$result = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$result = array_merge($result, array_flatten($value));
}
else {
$result[$key] = $value;
}
}
return $result;
}
echo "<pre>";
print_r(array_flatten($array));