我有两个要合并的数组。我通过for()循环创建了第一个,以便它包含最后七天(这里只有三个以保持简短):
array(7) {
[0]=>
array(2) {
["created_at"]=>
string(10) "2017-08-15"
["errorCount"]=>
string(1) "0"
}
[1]=>
array(2) {
["created_at"]=>
string(10) "2017-08-16"
["errorCount"]=>
string(1) "0"
}
[2]=>
array(2) {
["created_at"]=>
string(10) "2017-08-17"
["errorCount"]=>
string(1) "0"
}
}
另一个数组包含来自DB的数据:
array(2) {
[0]=>
array(2) {
["created_at"]=>
string(10) "2017-08-15"
["errorCount"]=>
string(1) "4"
}
[1]=>
array(2) {
["created_at"]=>
string(10) "2017-08-16"
["errorCount"]=>
string(1) "12"
}
}
我想将这两者合并在一起,这样只要 created_at 相同,第一个数组中的 errorCount 就会被覆盖。我直接用array_merge()
尝试了它,但它只将第二个数组的行添加到第一个数组的末尾。
有关如何解决此问题的任何建议?或者有不同的方法来处理它?</ p>
答案 0 :(得分:0)
按以下声明过滤结果:
$finArray = array_values(array_combine(array_map(function ($value) {
return $value['created_at'];
}, $mergedArray), $mergedArray));