在php中计算两个数组值?
我有两个类似的数组在php中计算两个数组值?,php,arrays,Php,Arrays,我有两个类似的数组 $a1 $b1 0 : A 10 1: B 10 2: A 15 3: A 20 4: B 05 5: c 25 现在我想用同样的方法计算它们,结果是A=45,B=15和C=25 $calc = array_fill_keys
$a1 $b1
0 : A 10
1: B 10
2: A 15
3: A 20
4: B 05
5: c 25
现在我想用同样的方法计算它们,结果是A=45,B=15和C=25
$calc = array_fill_keys($a1,0);
foreach($a1 as $i => $key) {
$calc[$key] += $b1[$i];
}
$calc
是计算值的数组:
[A] => 45,
[B] => 15
etc.
我知道它已经被回答和接受了,而被接受的答案更简单、更有效;但纯粹是因为我想尝试一种完全不同的方法:
$a1 = array('A', 'B', 'A', 'A', 'B', 'c');
$b1 = array('10','10','15','20','05','25');
$sumArray = array();
foreach(array_unique($a1) as $key) {
$arrayElements = array_filter(
$a1,
function($value) use ($key) {
return $value == $key;
}
);
$sumArray[$key] = array_sum(
array_intersect_key(
$b1,
array_fill_keys(
array_keys($arrayElements),
NULL
)
)
);
}
var_dump($sumArray);
那么,到目前为止您尝试了什么?不要用@作弊,使用
$calc=array\u fill\u keys($a1,0)
删除警告您可以告诉我一件事,如何在不同的html单元格(如45echo”)中打印$calc值;foreach($key=>$value){echo“{$key}{$value}”;}echo”“代码>