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

这是一个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_转储的一个小版本。它用于表单验证

$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有点误导,因为它不计算值,而是对值进行汇总。