在PHP中对两个数组值求和

3

我有两个 cookie,它们的值如下:

foreach($_COOKIE as $key=>$val) {
    $piece = explode(",", $val);
    $t_cost = array($piece[3]);
    print_r($t_cost); //It prints Array ( [0] => 11 ) Array ( [0] => 11 )
    echo $total_cost = array_sum($t_cost);
}

但它只打印一个值。我该如何将两个值加起来并进行求和?

将每个值($t_cost)推入一个新数组,然后在该数组上应用数组求和操作? - ka_lin
3个回答

2

我认为你不需要使用array_sum,只需使用+=运算符即可节省一些内存。

$t_cost = 0;
foreach($_COOKIE as $key=>$val) {
    $piece = explode(",", $val);
    $t_cost += $piece[3];
}
echo $t_cost;

这是如何工作的呢?因为它有效,你能解释一下吗? - user1928251

1

实际上不需要使用array_sum

// the array where all piece[3] values are stored
$t_cost = array();

// loop through array
// just foreach($_COOKIE as $val) is enough
foreach($_COOKIE as $key=>$val) {

    // split by comma
    $piece = explode(",", $val);

    // add to array
    $t_cost[] = $piece[3];

}
// sum up  
$total_cost = array_sum($t_cost);   

或者仅仅是。
$total = 0;
foreach($_COOKIE as $key=>$val) {
        $piece = explode(",", $val);  
        $total += $piece[3];
}
echo $total;

1
$total = 0;
foreach($_COOKIE as $key=>$val) {
      $piece = explode(",", $val);
      $t_cost = trim(str_replace('$', '', array($piece[3]));
      $total += (float)$t_cost;
      echo "The total cost: $".$total;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接