当字符串相同时合并两个数组

Merge two arrays when string is identical

我有两个要合并的数组。我通过 for() 循环创建了第一个,以便它包括最后 7 天(为了简短起见,这里只有 3 天):

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"
  }
}

另一个数组包含来自数据库的数据:

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() 尝试过,但它只将第二个数组的行添加到第一个数组的末尾。

关于如何解决这个问题有什么建议吗?还是有不同的方法来处理它?

通过以下语句过滤结果:

$finArray = array_values(array_combine(array_map(function ($value) { 
   return $value['created_at']; 
}, $mergedArray), $mergedArray));