我有两个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);
}
但它只打印一个值。如何将这两个值相加来求和?
我认为你不需要 array_sum,只需使用 += 运算符即可节省一点内存
$t_cost = 0;
foreach($_COOKIE as $key=>$val) {
$piece = explode(",", $val);
$t_cost += $piece[3];
}
echo $t_cost;
$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;
}
实际上不需要
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;