Menu
CoddyTech

Vòng lặp foreach

Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 49 trên 71.

Khi làm việc với mảng (array), bạn thường cần duyệt qua từng phần tử. Bạn có thể dùng vòng lặp for với biến đếm chỉ số, nhưng PHP có một giải pháp gọn gàng hơn: vòng lặp foreach.

Vòng lặp foreach của PHP được thiết kế để duyệt qua các mảng. Nhiều ngôn ngữ có vòng lặp tương tự, còn trong PHP, nó tự đếm giúp bạn và cho phép truy cập trực tiếp vào từng phần tử.

<?php
$fruits = ["apple", "banana", "cherry"];

foreach ($fruits as $fruit) {
    echo $fruit . "\n";
}
?>

Kết quả là:

apple
banana
cherry

Cú pháp khá đơn giản: foreach ($array as $item). Ở mỗi lần lặp (iteration), chương trình gán phần tử (element) tiếp theo trong mảng (array) cho $item, rồi bạn có thể dùng nó trong thân vòng lặp (loop body).

Hãy so sánh cách này với cách đạt được cùng kết quả bằng vòng lặp for:

<?php
$fruits = ["apple", "banana", "cherry"];

for ($i = 0; $i < count($fruits); $i++) {
    echo $fruits[$i] . "\n";
}
?>

Phiên bản foreach ngắn hơn và dễ đọc hơn. Bạn không cần quản lý biến chỉ số hay lo về độ dài của mảng, PHP sẽ xử lý tất cả những việc đó cho bạn.

challenge icon

Thử thách

Dễ

Đọc một dòng đầu vào chứa danh sách số được phân tách bằng dấu phẩy (ví dụ: 10,25,5,30,15).

Dùng vòng lặp foreach để duyệt qua mảng và tính tổng tất cả các số. In ra tổng.

Ví dụ 1:

Nếu đầu vào là 10,25,5,30,15, đầu ra sẽ là:

85

Ví dụ 2:

Nếu đầu vào là 1,2,3,4,5, đầu ra sẽ là:

15

Ví dụ 3:

Nếu đầu vào là 100,200,300, đầu ra sẽ là:

600

Tự làm thử

<?php
// Đọc đầu vào
$input = trim(fgets(STDIN));
$numbers = explode(',', $input);

// TODO: Viết code bên dưới để tính tổng bằng vòng lặp foreach
$sum = 0;


// In ra kết quả
echo $sum;
?>
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức cơ bản

Tự luyện tập: Trình biên dịch PHP online