2017-10-06 55 views
3

数组值我有两个饼干,它们的值是这样的:总和两个PHP

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); 
} 

但它打印只有一个值。我怎样才能添加这两个值来总结它们?

+0

按每个值( $ t_cost)在一个新的数组,然后应用数组 - 总和该数组? –

回答

3

我觉得你不需要array_sum,只需使用+ =运算符将节省一点记忆

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

这是如何工作,因为它的作品可以解释我吗? –

+0

检查:http://php.net/manual/en/language.operators.arithmetic.php – AZinkey

+1

非常感谢您的参考和答案 –

2

实际上并不需要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; 
} 
+0

有一个更简单的方法像波纹管谢谢anyaway –