【发布时间】:2018-02-15 15:05:39
【问题描述】:
我有 2 个数组:
$array1 = [
['amount' => 21600.00, 'rows' => 2, 'student_id' => 1],
];
$array2 = [
['amount' => 541990.00, 'rows' => 512, 'student_id' => 1],
['amount' => 347480.00, 'rows' => 281, 'student_id' => 2],
['amount' => 507400.00, 'rows' => 214, 'student_id' => 3],
];
我想基于相同的student_id 值合并两个数组。当在两个数组中都找到 student_id 时,我想将两个 amount 值和两个 rows 值相加。
预期结果:
array (
0 =>
array (
'amount' => 563590.0,
'rows' => 514,
'student_id' => 1,
),
1 =>
array (
'amount' => 347480.0,
'rows' => 281,
'student_id' => 2,
),
2 =>
array (
'amount' => 507400.0,
'rows' => 214,
'student_id' => 3,
),
)
我尝试过使用array_merge() 和array_merge_recursive(),但它们没有给我预期的结果。
【问题讨论】:
-
我只会使用 foreach() 循环
-
为什么你有这两个具有相同相似结构的数组?你是从两个不同的表中选择它吗?我认为您应该在数据库级别执行此操作。
-
是的,我知道,但我无法通过查询来完成。所以我应该通过 PHP 来做。顺便说一句,我现在从拉胡尔那里得到了答案
标签: php arrays multidimensional-array merge grouping