Php 如何获取数组成员的总和?
这是一个PHP数组:Php 如何获取数组成员的总和?,php,foreach,Php,Foreach,这是一个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' (len
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_转储的一个小版本。它用于表单验证
$count_total = 0;
foreach ($jcart->get_contents() as $item) {
++$count_total;
}
让事情变得复杂的是,$jcart->get_contents()不仅仅是一个普通数组。至少我现在不知道如何将它应用到下面的解决方案中
var_dump($jcart);给出一个对象,该对象中已存储总计
私有的'itemCount'=>int4这样就可以了:
$sum = 0;
foreach ($array['ItemQty'] as $val) {
$sum += $val;
}
这可以做到:
$sum = 0;
foreach ($array['ItemQty'] as $val) {
$sum += $val;
}
如果您只想对数字求和,可以使用
数组\u sum()
,如果它是一维数组。或者,您也可以使用foreach
循环,并在添加到sum
var时对其进行迭代,如下所示:
$sum = 0;
foreach($item in $items) {
$sum += $item;
}
因为您的问题也可能意味着计算数组中的所有值。您可以使用PHP的
count()
函数来计算数组中的总值 如果您只想对数字求和,可以使用数组\u sum()
,如果它是一维数组。或者,您也可以使用foreach
循环,并在添加到sum
var时对其进行迭代,如下所示:
$sum = 0;
foreach($item in $items) {
$sum += $item;
}
因为您的问题也可能意味着计算数组中的所有值。您可以使用PHP的
count()
函数来计算数组中的总值 比如:
echo array_sum(array_map('intval', $data['ItemQty']))
这将为
$data['ItemQty']
数组中的每个项目调用intval()
,然后调用array\u sum
以给出结果的总和。类似于:
echo array_sum(array_map('intval', $data['ItemQty']))
这将为$data['ItemQty']
数组中的每个项目调用intval()
,然后调用array\u sum
以给出结果的总和。使用
使用
数数数字?还是把它们加起来如果是前者,则3是正确的。是否要将这些值相加?例2+1+1?@Bankzilla是的,我喜欢。为什么返回的值是字符串而不是整数?数数数字?还是把它们加起来如果是前者,则3是正确的。是否要将这些值相加?例2+1+1?@Bankzilla是的,我喜欢toWhy you values returning as string而不是integer?
$count
var有点误导,因为它不计算值,而是对值进行汇总。$count
var有点误导,因为它不计算值,而是对值进行汇总。