Vòng lặp foreach trong php là một trong những keyword được search nhiều nhất trên Google về chủ đề vòng lặp foreach trong php. Trong bài viết này, xaydungweb.vn sẽ viết bài viết Tổng hợp vòng lặp foreach trong php mới nhất 2020.
Tổng hợp vòng lặp foreach trong php mới nhất 2020
Ở các bài trước chúng ta đang được học ba vòng lặp (vòng lặp for, vòng lặp while và do while), vậythì hôm nay chúng ta sẽ được biết thêm một vòng lặp mới nữa đó là vòng lặp foreach. Vòng lặp foreach trong php sử dụng để lặp các phần tử trong mảng, chính do vậy nó được sử dụng rất nhiều khi chúng ta làm dự án với PHP, hầu như ai cũng like bởi vì sử dụng không khó khăn.
1. Cú pháp vòng lặp foreach trong PHP
Cú pháp vòng lặp foreach trong php:
1
2
3
|
foreach ( $array as $key => $value ) // Các định dạng lệnh |
Hoặc:
1
2
3
|
foreach ( $array as $value ) // Các loại lệnh |
Trong đó $array
là mảng cần lặp,$key
là số chỉ mục (mảng có chỉ mục) hoặc là key (trong mảng phối hợp), $value
là trị giá của phần tử ở vị trí $key
.
gợi ý 1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
// danh mục các năm $nam = array ( 1990, 1991, 1992, 1993, 1994, 1995 ); //Dùng foreach xuất ra các năm trong $nam foreach ( $nam as $key => $value ) echo $value ; |
Vòng lặp foreach auto lặp qua các phần tử trong mảng, nó lặp cho khi nào tới phần tử cuối cùng thì thôi. như ở ví dụ trên thì $nam
là mảng ta truyền vào, $key
và $value
là 2 tham số mà ở mỗi vòng lặp nó tự động truyền trị giá vào đó và chúng ta chỉ việc sử dụng. hiệu quả xuất ra màn hình là:
1
2
3
4
5
6
|
0 => 1990 1 => 1991 2 => 1992 3 => 1993 4 => 1994 5 => 1995 |
Nếu quan tâm kỹ thì các bạn sẽ thấy trong vòng lặp tôi chỉ truyền $nam
vào, còn $key
và $value
không thay đổi, phải chăng nó mãi mãi giống như vậy? Câu trả lời là không phải, bạn có thể đặt nó là một cái tên bất kì nhé, gợi ý chương trình sau là tương đương:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
// mục lục các năm $nam = array ( 1990, 1991, 1992, 1993, 1994, 1995 ); //Dùng foreach xuất ra các năm trong $nam foreach ( $nam as $chimuc => $giatri ) echo $chimuc . ' => ' . $giatri ; |
Với bài toán trên ta đủ nội lực sử dụng cú pháp thứ 2 của vòng lặp foreach trong php để giải nó:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
// danh sách các năm $nam = array ( 1990, 1991, 1992, 1993, 1994, 1995 ); //Dùng foreach xuất ra các năm trong $nam foreach ( $nam as $value ) echo $value ; |
Trong ví dụ này ta không quét được $key
mà chỉ get được mỗi $value
bởi vì ta k truyền biến $key
vào. hiệu quả xuất ra màn ảnh là:
1
2
3
4
5
6
|
1990 1991 1992 1993 1994 1995 |
ví dụ 2:
Trong gợi ý này mục lục sv truyền vào là một mảng phối hợp theo nguyên tắc mssv => tensv, trong vòng lặp sẽ xuất ra mã số sv và tên sv tương ứng. Với phương pháp giải sau thì chỉ lấy được tên chứ không quét được mã số sinh viên:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
// danh sách mã số sv và sv tương ứng $sinhvien = array ( 'SV001' => 'Nguyễn Văn A' , 'SV002' => 'Nguyễn Văn B' , 'SV003' => 'Nguyễn Văn C' , 'SV004' => 'Nguyễn Văn D' , 'SV005' => 'Nguyễn Văn E' ); // Xuất ra danh sách sinh viên foreach ( $sinhvien as $tensv ) echo $tensv . ' ; |
Đấy chính là sự không giống biệt giữa hai hướng dẫn lặp.
Để hiểu rõ hơn về vòng lặp foreach trong PHP thì mời các bạn đọc bài viết “bản chất vòng lặp foreach trong php”, đây là một bài đàm luận về tốc độ cũng giống như quy trình hoạt động của vòng lặp foreach.
2. Lời kết
chấm dứt bài này tôi hy vọng các bạn nắm được cách sử dụng vòng lặp foreach trong php để xử lý mảng. Xin note với các bạn rằng vòng lặp foreach đủ sức lặp lồng nhau để giải quyết mảng nhiều chiều, mình sẽ k cho ví dụ vì bài quá dài đọc dễ nhàm chán và cũng một phần vì trong quá trình học chúng ta sẽ đụng tới chủ đề này nên coi như tôi duyệt nó ở phần sau. Trong bài tới chúng ta học các lệnh break, continiue, go lớn, die, exit, đó là những lệnh chấm dứt vòng lặp hoặc thoát chương trình.
nguồn: freetuts.net