【发布时间】:2020-11-07 14:17:19
【问题描述】:
这是我在 StackOverflow 上的第一篇文章。
我正在寻找最好的方法来获取两个数组,每个数组都有不同数量的数据项,将它们合并,但将其中一个键上具有相同值的项相加(使用 PHP)。
输入数组:
$array1 = array (
0 => array ( 'result_date' => '2020-07-20', 'total_for_day' => '75', ),
1 => array ( 'result_date' => '2020-07-21', 'total_for_day' => '17', ),
2 => array ( 'result_date' => '2020-07-22', 'total_for_day' => '0', ),
3 => array ( 'result_date' => '2020-07-23', 'total_for_day' => '6', ),
4 => array ( 'result_date' => '2020-07-24', 'total_for_day' => '1', )
);
$array2 = array (
0 => array ( 'result_date' => '2020-07-01', 'total_for_day' => '6264', ),
1 => array ( 'result_date' => '2020-07-02', 'total_for_day' => '7008', ),
2 => array ( 'result_date' => '2020-07-20', 'total_for_day' => '1968', ),
3 => array ( 'result_date' => '2020-07-21', 'total_for_day' => '7776', ),
);
期望的输出:
array (
0 => array ( 'result_date' => '2020-07-01', 'total_for_day' => '6264', ),
1 => array ( 'result_date' => '2020-07-02', 'total_for_day' => '7008', ),
2 => array ( 'result_date' => '2020-07-20', 'total_for_day' => '2043', ),
3 => array ( 'result_date' => '2020-07-21', 'total_for_day' => '7793', ),
4 => array ( 'result_date' => '2020-07-22', 'total_for_day' => '0', ),
5 => array ( 'result_date' => '2020-07-23', 'total_for_day' => '6', ),
6 => array ( 'result_date' => '2020-07-24', 'total_for_day' => '1', )
);
所以基本上只是将两个数组合并为一个更大的数组,但将“result_date”匹配的“total_for_day”相加。请注意,在所需的输出中,它也由“result_date”ASC 排序。
提前致谢:-)
【问题讨论】: