2017-10-06 65 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 –