当字符串相同时合并两个数组
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));
我有两个要合并的数组。我通过 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));