我有一个关联数组的数组。
$array = [
['report_date' => 'date', 'name' => 'name'],
['report_date' => 'date', 'color' => 'color']
];
我想合并这个数组,如果
$array[x]['report_date'] === $array[y]['report_date']
然后我需要执行合并,在这种情况下会返回:
$newArray = [['report_date' => date, 'name' => name, 'color' => color]]
当然我们需要考虑到可能有多个数组满足这个要求,我们也必须合并它们。
我尝试了一些方法,导致映射和 foreach 合并需要很长时间才能处理,最终无法正常工作。
您可以创建一个新数组,由
report_date
索引并将值推入其中:
$out=[];
foreach($array as $subarray){
foreach($subarray as $key=>$val){
$out[$subarray['report_date']][$key]=$val;
}
}
var_dump($out);