这是一个PHP数组:
array
'ItemId' =>
array
0 => string '32' (length=2)
1 => string '33' (length=2)
2 => string '35' (length=2)
'ItemQty' =>
array
0 => string '2' (length=1)
1 => string '1' (length=1)
2 => string '1' (length=1)
我想要实现的是计算ItemQty
中字符串中的数字所以这里的结果将是4。
我尝试使用foreach循环但结果总是3而不是4(逻辑我认为,但无法解决)
上面的数组是POST值的var_dump的小版本。它用于表单验证。
$count_total = 0;
foreach ($jcart->get_contents() as $item) {
++$count_total;
}
似乎复杂的是,$ jcart-> get_contents()不仅仅是一个普通的数组。至少我现在不知道如何将它应用到下面的解决方案中。
的var_dump($ jcart);给出一个总和已经存储的对象
private'itemCount'=> int 4
答案 0 :(得分:3)
使用array_sum()
。
$sum = array_sum($arr['ItemQty']);
答案 1 :(得分:1)
如下:
echo array_sum(array_map('intval', $data['ItemQty']))
这会针对intval()
数组中的每个项目调用$data['ItemQty']
,然后调用array_sum
来为您提供结果的总和。
答案 2 :(得分:0)
这样做:
$sum = 0;
foreach ($array['ItemQty'] as $val) {
$sum += $val;
}
答案 3 :(得分:0)
如果您只是想对可以使用array_sum()
的数字求和,如果它是单维数组。或者,您可以使用foreach
循环并在添加到sum
var时迭代它,如下所示:
$sum = 0;
foreach($item in $items) {
$sum += $item;
}
由于您的问题也可能意味着计算数组中的所有值。您可以使用PHP的count()
函数来计算数组中的总值。