此问题已在此处有答案:
Group array data on one column and sum data from another column to form a flat associative array(5个答案)
5年前关闭。
如何将key 0of inner arrays 的值与key 2of inner arrays 的值相加?
谢谢你的帮助,我在这个问题上卡住了。让我解释一下,我有这样的数组。
array (size=6)
0 =>
array (size=4)
0 => float 10002
1 => string 'xxxyyyy' (length=7)
2 => float 5.00
3 => float 0
1 =>
array (size=4)
0 => float 10002
1 => string 'xxxyyyy' (length=7)
2 => float 5.00
3 => float 4.25
2 =>
array (size=4)
0 => float 10002
1 => string 'xxxyyyy' (length=7)
2 => float 5.00
3 => float 0
3 =>
array (size=4)
0 => float 10010
1 => string 'yyyyyyy' (length=7)
2 => float 10.00
3 => float 0
4 =>
array (size=4)
0 => float 10010
1 => string 'yyyyyyy' (length=7)
2 => float 10.00
3 => float 1.85
5 =>
array (size=4)
0 => float 10010
1 => string 'yyyyyyy' (length=7)
2 => float 10.00
3 => float 0
是否可能得到这个结果(如果key0值与内部数组相同,则对key2值求和)
sum_key_2 = 15, for key_0 = 10002
sum_key_2 = 30, for key_0 = 10010
我尝试了这个,但没有得到想要的输出:
$bill = 0; $sp_no = array();
foreach($data as $innerKey => $innerArray) {
$sp_no[] = $innerArray[0];
}
foreach($data as $k => $val) {
if ($sp_no[$k] == $val[0]) {
$bill += $val[2];
}
}
echo $bill;
2条答案
按热度按时间nbysray51#
您可以先使用
key_0
作为键对它们进行分组,然后将每个对应的key_2
添加到key_0
组中0kjbasz62#
您可以尝试此解决方案
我假设您将尝试匹配array[0]和array[2]