我有一组关联数组。
$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合并,这些合并需要永久处理,最终无法使其正常工作。
有什么想法吗?
答案 0 :(得分:2)
您可以创建一个由report_date
建立索引的新数组并将值推入其中:
$out=[];
foreach($array as $subarray){
foreach($subarray as $key=>$val){
$out[$subarray['report_date']][$key]=$val;
}
}
var_dump($out);