使用array_combine获取值的总和?

时间:2014-08-25 09:19:48

标签: php arrays

我正在尝试使用array_combine计算值的总和。我也有重复的密钥,例如我有emailid数组和产品价格数组。

$data1 = array("email1@example.com","email2@example.com","email1@example.com");

$data2 = array("100","200","300");

现在在$data1我有两个重复的值为email1@example.com

我正在尝试使用array_combine()它会忽略重复值并添加新值

我得到这个结果

email1@example.com => 300;
email2@example.com => 200;

但我希望结果应该是

email1@example.com => (400)100+300;
email2@example.com => 200;

不确定如何使用array_combine获得此结果有什么替代方法可以达到此目的吗?

任何建议都会很棒。

1 个答案:

答案 0 :(得分:4)

写一个简单的循环:

$result = array();

foreach ($data1 as $i => $v) {
  if (!isset($result[$v])) {
     $result[$v] = 0;
  }
  $result[$v] += $data2[$i];
}