我需要一个帮助,
我有这种类型的数组。
[0] => Array
(
[0] => Array
(
[offer_id] => 377598
[countries] => Array
(
)
)
)
[0] => Array
(
[0] => Array
(
[offer_id] => 1552161
[countries] => Array
(
)
)
)
我想要这个结果如何可能请提供我想要的解决方案。
[0] => Array
(
[offer_id] => 377598
[countries] => Array
(
)
)
[1] => Array
(
[offer_id] => 1552161
[countries] => Array
(
)
)
提前致谢。
此致 Nilay Parekh
答案 0 :(得分:1)
只需使用array_merge_recursive()
即可。文档:http://php.net/manual/en/function.array-merge-recursive.php
修改强>
通过OP中的编辑,我假设您的数组格式为:
$yourArray = array(
array(array("offer_id" => 377598,"countries" => array())),
array(array("offer_id" => 377598,"countries" => array()))
);
如果是这样,您可以尝试array_reduce
超过array_merge
类似的内容:
$r = array_reduce($yourArray, 'array_merge', array());
var_dump($r);
答案 1 :(得分:0)
据我所知,你需要的是二级合并。要做到这一点,你应该去自定义功能。
试试这个自定义功能,
function arrayMergeSecondLevel($arr1, $arr2){
$merged_arr = array_merge($arr1, $arr2);
return array_map(function($item){
return $item[0];
}, $merged_arr);
}
为它传递你的2个数组,它将提供你需要的东西。
说明:此自定义函数将首先使用array_merge,以便我们获得2个数组的合并结果。它循环通过合并的数组,并将第二级作为第一级。
如果你有一个阵列,那么
function arrayMergeSecondLevel($arr) {
return array_map(function($item) {
return $item[0];
}, $arr);
}