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($arrayas$key=> $value){    // Các dòng lệnh} | 
Hoặc:
| 1 2 3 | foreach($arrayas$value){    // Các dòng 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 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;} | 
Vòng lặp foreach tự động 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 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à:
| 1 2 3 4 5 6 | 0 => 19901 => 19912 => 19923 => 19934 => 19945 => 1995 | 
Nếu để ý 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ó 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;} | 
Với bài toán trên ta có thể 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 $namforeach($namas$value){    echo$value;} | 
Trong ví dụ này ta không lấy được $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à:
| 1 2 3 4 5 6 | 199019911992199319941995 | 
Ví dụ 2:
Trong ví dụ này danh sách sinh viên truyền vào là một mảng kết hợp theo quy tắc mssv => tensv, trong vòng lặp sẽ xuất ra mã số sinh viên và tên sinh viên tương ứng. Với cách giải sau thì chỉ lấy được tên chứ không lấy được mã số sinh viên:
| 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/>';} | 
Đấy chính là sự khác biệt giữa hai cách lặp.
2. Lời kết
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ằng vò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.
Theo:freetuts.net
 
                                       


 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
															
							 
                             
             
            
 Vietnamese
 Vietnamese Afrikaans
 Afrikaans Albanian
 Albanian Amharic
 Amharic Arabic
 Arabic Armenian
 Armenian Azerbaijani
 Azerbaijani Basque
 Basque Belarusian
 Belarusian Bengali
 Bengali Bosnian
 Bosnian Bulgarian
 Bulgarian Catalan
 Catalan Cebuano
 Cebuano Chichewa
 Chichewa Chinese (Simplified)
 Chinese (Simplified) Chinese (Traditional)
 Chinese (Traditional) Corsican
 Corsican Croatian
 Croatian Czech
 Czech Danish
 Danish Dutch
 Dutch English
 English Esperanto
 Esperanto Estonian
 Estonian Filipino
 Filipino Finnish
 Finnish French
 French Frisian
 Frisian Galician
 Galician Haitian Creole
 Haitian Creole Georgian
 Georgian German
 German Greek
 Greek Gujarati
 Gujarati Hausa
 Hausa Hawaiian
 Hawaiian Hebrew
 Hebrew Hindi
 Hindi Hmong
 Hmong Hungarian
 Hungarian Icelandic
 Icelandic Igbo
 Igbo Indonesian
 Indonesian Irish
 Irish Italian
 Italian Japanese
 Japanese Javanese
 Javanese Kannada
 Kannada Kazakh
 Kazakh Khmer
 Khmer Korean
 Korean Kurdish (Kurmanji)
 Kurdish (Kurmanji) Kyrgyz
 Kyrgyz Lao
 Lao Latin
 Latin Latvian
 Latvian Lithuanian
 Lithuanian Luxembourgish
 Luxembourgish Macedonian
 Macedonian Malagasy
 Malagasy Malay
 Malay Malayalam
 Malayalam Maltese
 Maltese Maori
 Maori Marathi
 Marathi Mongolian
 Mongolian Myanmar (Burmese)
 Myanmar (Burmese) Nepali
 Nepali Norwegian
 Norwegian Pashto
 Pashto Persian
 Persian Polish
 Polish Portuguese
 Portuguese Punjabi
 Punjabi Romanian
 Romanian Russian
 Russian Samoan
 Samoan Scottish Gaelic
 Scottish Gaelic Sinhala
 Sinhala Serbian
 Serbian Sesotho
 Sesotho Shona
 Shona Sindhi
 Sindhi Slovenian
 Slovenian Slovak
 Slovak Somali
 Somali Spanish
 Spanish Sundanese
 Sundanese Swahili
 Swahili Swedish
 Swedish Tajik
 Tajik Tamil
 Tamil Telugu
 Telugu Thai
 Thai Turkish
 Turkish Ukrainian
 Ukrainian Urdu
 Urdu Uzbek
 Uzbek Welsh
 Welsh Xhosa
 Xhosa Yiddish
 Yiddish Yoruba
 Yoruba Zulu
 Zulu