Ở các bài trước chúng ta đã được học ba vòng lặp ( vòng lặp for, vòng lặp while và do while)  thì hôm nay chúng ta sẽ được biết thêm một vòng lặp mới là vòng lặp foreach. 
Vòng lặp foreach trong php dùng để lặp các phần tử trong mảng, chính vì thế 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 thích nó vì sử dụng đơn giản và hiệu quả.
Vòng lặp foreach trong php dùng để lặp các phần tử trong mảng, chính vì thế 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 thích nó vì sử dụng đơn giản và hiệu quả.
Cú pháp vòng lặp foreach trong php:
| 
1 
2 
3 | foreach($arrayas$key=> $value){    // Các dòng lệnh} | 
| 
1 
2 
3 | foreach($arrayas$value){    // Các dòng lệnh} | 
$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 kết hợp), $value là giá trị của phần tử ở vị trí $key.
Ví dụ 1
| 
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 $namforeach($namas$key=> $value){    echo$value;} | 
$key và $value là 2 tham số mà ở mỗi vòng lặp nó tự động truyền giá trị vào đó và chúng ta chỉ việc sử dụng. Kết quả xuất ra màn hình là:
“0 => 1990
1 => 1991
2 => 1992
3 => 1993
4 => 1994
5 => 1995″
1 => 1991
2 => 1992
3 => 1993
4 => 1994
5 => 1995″
Các bạn 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ó luôn luôn 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é, ví dụ chương trình sau là tương đương:| 
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 $namforeach($namas$chimuc=> $giatri){    echo$chimuc. ' => '. $giatri;} | 
| 
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 $namforeach($namas$value){    echo$value;} | 
$key mà chỉ lấy được mỗi $value bởi vì ta không truyền biến $key vào. Kết quả xuất ra màn hình là:
“1990
1991
1992
1993
1994
1995″
1991
1992
1993
1994
1995″
Ví dụ 2:
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 | // Danh sách mã số sinh viên và sinh viên 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ênforeach($sinhvienas$mssv=> $tensv){    echo$mssv. ': '. $tensv. '<br/>';} | 
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 | // Danh sách mã số sinh viên và sinh viên 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ênforeach($sinhvienas$tensv){    echo$tensv. '<br/>';} | 
Nhận Xét Về Tốc Độ.
Vấn đề tốc độ của vòng lặp foreach được trình bày ở bài này "Bản chất vòng lặp foreach trong php".
Kết Thúc Bài Học
Kết thúc 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 lưu ý với các bạn rằngvòng lặp foreach có thể lặp lồng nhau để xử lý mảng nhiều chiều, mình sẽ không 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 vấn đề 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ệnhbreak, continiue, go to, die, exit, đó là những lệnh kết thúc vòng lặp hoặc thoát chương trình.
 

0 nhận xét: