2013-05-14 13 views
18
foreach($group as $key=>$value) 
{ 
    echo $key. " = " .$value. "<br>"; 
} 

Ad esempio:valori Somma in foreach ciclo php

doc1 = 8

doc2 = 7

doc3 = 1

Voglio contare $ valore , quindi il risultato è 8 + 7 + 1 = 16. Cosa dovrei fare?

Grazie.

+0

Basta inizializzare una variabile a 0 fuori il ciclo, e aggiungiamo ogni '$ valore 'all'interno di l oop. Seriamente, questa è una domanda di programmazione generale per principianti davvero elementare; assicurati di essere chiaro sui veri concetti di base prima di provare ad andare più lontano, poiché altrimenti incontrerai molte cose che non avranno senso per te. – ebohlman

risposta

50
$sum = 0; 
foreach($group as $key=>$value) 
{ 
    $sum+= $value; 
} 
echo $sum; 
2

Usa +=

$val = 0; 

foreach($arr as $var) { 
    $val += $var; 
} 

echo $val; 
1

È possibile utilizzare array_sum().

$total = array_sum($group); 
+0

Posso immaginare che qualcuno non abbia svalutato questo. Sembra che tutti stiano reinventando la ruota – peter

+0

Per essere onesti, l'algoritmo è così banale che a volte le persone dimenticano che cose come questa esistono nella libreria standard. A volte, SO viene bloccato in una mentalità da mob, rispetta le risposte votando mentre ignora gli altri perché il primo _work_. –

0
$total=0; 
foreach($group as $key=>$value) 
{ 
    echo $key. " = " .$value. "<br>"; 
    $total+= $value; 
} 
echo $total; 
11

Nel vostro caso, se si vuole andare con ciclo foreach di

$sum = 0; 
foreach($group as $key => $value) { 
    $sum += $value; 
} 
echo $sum; 

Ma se si vuole andare con somma diretta di serie di cercare di seguito per la vostra soluzione:

$total = array_sum($group); 

per solo la somma del ciclo looping è spreco di tempo.

http://php.net/manual/en/function.array-sum.php

array_sum - calcolare la somma dei valori di un array

<?php 
$a = array(2, 4, 6, 8); 
echo "sum(a) = " . array_sum($a) . "\n"; 

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4); 
echo "sum(b) = " . array_sum($b) . "\n"; 
?> 

Il precedente esempio:

sum(a) = 20 
sum(b) = 6.9