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

Ví dụ:giá trị Sum trong foreach vòng lặp php

doc1 = 8

doc2 = 7

doc3 = 1

tôi muốn đếm $ value , vì vậy kết quả là 8 + 7 + 1 = 16. Tôi nên làm gì?

Cảm ơn.

+0

Chỉ cần khởi tạo một biến để 0 bên ngoài vòng lặp và thêm mỗi '$ value' vào nó trong l oop. Nghiêm túc, đây là một câu hỏi lập trình mới bắt đầu thực sự sơ cấp; hãy chắc chắn rằng bạn đang rõ ràng về các khái niệm cơ bản thực sự trước khi bạn cố gắng đi xa hơn, vì nếu không bạn sẽ gặp phải rất nhiều thứ không có ý nghĩa với bạn. – ebohlman

Trả lời

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

Sử dụng +=

$val = 0; 

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

echo $val; 
1

Bạn có thể sử dụng array_sum().

$total = array_sum($group); 
+0

Tôi có thể tưởng tượng một người nào đó đã không bỏ phiếu này. Mọi người dường như đang phát minh lại bánh xe – peter

+0

Để công bằng, thuật toán rất tầm thường đôi khi mọi người quên rằng những thứ như thế này tồn tại trong thư viện chuẩn. Đôi khi SO bị nhốt vào tâm trí đám đông, lên các câu trả lời bỏ phiếu trong khi phớt lờ người khác vì người đầu tiên _works_. –

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

Trong trường hợp của bạn nếu bạn muốn đi với vòng lặp foreach hơn

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

Nhưng nếu bạn muốn đi với tổng trực tiếp của mảng hơn nhìn dưới đây để biết giải pháp của bạn:

$total = array_sum($group); 

cho chỉ tổng hợp mảng lặp lại là lãng phí thời gian.

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

array_sum - Tính tổng các giá trị trong một mảng

<?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"; 
?> 

Ví dụ trên sẽ đầu ra:

sum(a) = 20 
sum(b) = 6.9 
Các vấn đề liên quan