所以我有两个数组,我希望通过将具有相同键的值合并到一个数组中。
array &a
Array
(
[0] => 4
[1] => 10
[2] => 3
[3] => 10
[4] => 7
)
array &b
Array
(
[0] =>
[1] => 1
[2] => 2
[3] => 2
[4] => 2
)
我希望得到的数组为
Array
(
[0] => 4
[1] => 11
[2] => 5
[3] => 12
[4] => 9
)
答案 0 :(得分:3)
您可以同时使用array_map()
遍历两个数组。然后你只需要将两个元素一起添加并作为新元素返回。
代码
static void ddict_debug(const char* fmt, ...) G_GNUC_PRINTF(1, 2);
答案 1 :(得分:2)
使用以下代码: -
$a = [4,10,3,10,7];
$b = ['',1,2,2,2];
$res = [];
foreach($a as $k=>$v){
$res[] = $v + $b[$k];
}
echo '<pre>'; print_r($res);
<强>输出: - 强>
Array
(
[0] => 4
[1] => 11
[2] => 5
[3] => 12
[4] => 9
)
如果第二个数组$ b与第一个数组$ a没有相似的记录数,则
$a = [4,10,3,10,7];
$b = ['',1,2,2]; // removed last record
$res = [];
foreach($a as $k=>$v){
$res[] = $v + (!empty($b[$k]) ? $b[$k] : 0);
}
echo '<pre>'; print_r($res);
<强>输出强>: -
Array
(
[0] => 4
[1] => 11
[2] => 5
[3] => 12
[4] => 7
)