我有一个数组:
array(
[0] => Array
(
[d1] => Array
(
................
)
[d2] => Array
(
................
)
)
[1] => Array
(
[d1] => Array
(
................
)
[d2] => Array
(
................
)
)
)
如何创建一个新数组来合并它,所以只有d1和d2,删除索引0和1.
答案 0 :(得分:0)
我们假设您的数组名称为$a
,因此我们可以:
$result = [];
$result['d1'] = [];
$result['d2'] = [];
foreach ($a as $v) {
$result['d1'] = array_merge($result['d1'], $v['d1'])
$result['d2'] = array_merge($result['d2'], $v['d2'])
}
现在,您可以在$result
中找到所需的内容。
答案 1 :(得分:0)
这是您的解决方案visit here
假设您的数组$menus
和过滤后的新数组将为$filteredMenu
。您的最终结果$filteredMenu
<?php
$menus = array(
0 =>array(
"d1" => array (
"id"=> "----",
),
"d2" => array (
"id"=> "----",
)
),
1 =>array(
"d1" => array (
"id"=> "----",
),
"d2" => array (
"id"=> "----",
)
)
);
$filteredMenu = [];
$filteredMenu['d1'] = [];
$filteredMenu['d2'] = [];
foreach ($menus as $item) {
$filteredMenu['d1'] = array_merge($filteredMenu['d1'], $item['d1']);
$filteredMenu['d2'] = array_merge($filteredMenu['d2'], $item['d2']);
}
print_r($filteredMenu);
?>
答案 2 :(得分:0)
对于PHP&gt; 5.5.0 您可以像{/ p>一样使用array_column
$result['d1'] = call_user_func_array('array_merge',array_column($your_array,'d1'));
$result['d2'] = call_user_func_array('array_merge',array_column($your_array,'d2'));
print_r($result);