[英]Looping and sum the array values in PHP
我有一个像这样的数组:
array(5) {
["Uniform"]=>
array(2) {
[0]=>
array(2) {
["invoice_pname"]=>
string(7) "Uniform"
["amount"]=>
string(3) "900"
}
[1]=>
array(2) {
["invoice_pname"]=>
string(7) "Uniform"
["amount"]=>
string(3) "450"
}
}
["Tuition Fee"]=>
array(2) {
[0]=>
array(2) {
["invoice_pname"]=>
string(11) "Tuition Fee"
["amount"]=>
string(3) "300"
}
[1]=>
array(2) {
["invoice_pname"]=>
string(11) "Tuition Fee"
["amount"]=>
string(3) "300"
}
}
}
我想在关键元素内添加数组值,例如:
制服=> 1350
学费=> 600
我要做的是将foreach
用作循环,
$results = array();
foreach ($result as $key => $resultant) {
foreach ($resultant as $value) {
$results[$key][] += $value['amount'];
}
}
var_dump($results);
但显示错误
<h4>A PHP Error was encountered</h4>
<p>Severity: Notice</p>
<p>Message: Undefined index: Uniform</p>
<p>Filename: controllers/Home.php</p>
<p>Line Number: 2787</p>
<p>Backtrace:</p>
有谁能够帮助我? 我想在桌子上显示它。
查看数据,您应该遍历结果[“统一”]
$results = array();
foreach ($result['Uniform'] as $key => $resultant) {
foreach ($resultant as $value) {
$results[$key][] += $value['amount'];
}
}
因为似乎此键是包含求和有效数组的键
您可以使用array_column和array_sum 。
这样,您就不需要循环整个数组。
Foreach($arr as $key => $a){
$res[$key] = array_sum(array_column($a, "amount"));
}
Var_dump($res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.