Lệnh foreach trong PHP: cấu trúc foreach cung cấp một cách dễ dàng để lặp qua các mảng của lập trình PHP. Foreach chỉ hoạt động trên các mảng và các đối tượng, và sẽ phát hành một lỗi khi bạn cố gắng sử dụng nó trên một biến với một kiểu dữ liệu khác hoặc một biến chưa được khởi tạo.
foreach ($array as $value) {
code to be executed;
}
Đối với mỗi vòng lặp lặp lại, giá trị của phần tử mảng hiện tại được gán cho giá trị $ và con trỏ mảng được di chuyển bởi một, cho đến khi nó đến phần tử mảng cuối cùng.
Trong PHP 5, khi foreach đầu tiên bắt đầu thực thi, con trỏ mảng bên trong sẽ tự động được đặt lại thành phần tử đầu tiên của mảng. Điều này có nghĩa là bạn không cần phải gọi reset () trước một vòng lặp foreach.
Vì foreach dựa vào con trỏ mảng bên trong trong PHP 5, việc thay đổi nó trong vòng lặp có thể dẫn đến hành vi không mong muốn.
Trong PHP 7, foreach không sử dụng con trỏ mảng bên trong.
Ví dụ 1: Ví dụ sau đây minh họa một vòng lặp sẽ xuất ra các giá trị của mảng đã cho ($ colors):
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
echo "$value
";
}
?>
Kết quả hiển thị:
Ví dụ 2: PHP 5.5 đã thêm khả năng lặp qua một mảng các mảng và giải nén mảng lồng nhau thành các biến vòng lặp bằng cách cung cấp một list làm giá trị.
$array = [
[1, 2],
[3, 4],
];
foreach ($array as list($a, $b)) {
// $a contains the first element of the nested array,
// and $b contains the second element.
echo "A: $a; B: $b\n";
}
?>
Ví dụ trên sẽ chạy:
Ví dụ 3: Một thông báo sẽ được tạo nếu không có đủ phần tử mảng để điền vào list:
$array = [
[1, 2],
[3, 4],
];
foreach ($array as list($a, $b, $c)) {
echo "A: $a; B: $b; C: $c\n";
}
?>
Ví dụ trên sẽ chạy:
Lệnh foreach trong PHP là một trong những lệnh quan trọng mà bất cứ một lập trình viên nào cũng cần nắm được. Chúc các bạn thành công!
Một số tài liệu về PHP khác bạn nên học theo: