Như đã nói ở bài trước, hôm nay mình sẽ giới thiệu với các bạn một số vòng lặp trong PHP. Các vòng lặp thường được sử dụng trong trường hợp bạn muốn thực hiện một khối lệnh nhiều lần. Số lần lặp có thể đã biết hoặc không biết trước.

PHP cung cấp cho chúng ta những loại vòng lặp như sau:

Vòng lặp for lặp lại khối lệnh với số lần biết trước.

Vòng lặp while kiểm tra điều kiện nếu điều kiện vẫn thỏa mãn thì thực thi khối lệnh.

Vòng lặp do - while thực thi khối lệnh rồi mới kiểm tra điều kiện nếu điều kiện vẫn thỏa mãn thì tiếp tục thực thi khối lệnh.

Vòng lặp foreach lặp lại khối lệnh với từng phần tử của một mảng cho trước.

Vòng lặp for

Vòng lặp for là vòng lặp thường được sử dụng khi các bạn đã biết trước số lần lặp.

Cú pháp

 
for (bien; dieukien; gia tri tang giam)
{
    //khoi lenh
}
?>

Đầu tiên vòng lặp khởi tạo giá trị đầu tiên cho biến. Sau đó kiểm tra giá trị biến có thỏa mãn điều khiện trong khối điều kiện. Nếu giá trị thỏa mãn, chương trình thực thi khối lệnh với giá trị của biến và tăng (hoặc giảm) giá trị của biến. Tiếp tục so sánh giá trị của biến với điều kiện và tiếp tục thực thi khối lệnh với các giá trị biến mới cho đến khi giá trị của biến không còn thoả mãn điều kiện thì vòng lặp sẽ dừng lại,

Ví dụ 

 
for($i = 1; $i < 10 ; $i++){
   echo "lan lap thu $i \n";
}
?>

Output

 
lan lap thu 1 
lan lap thu 2 
lan lap thu 3 
lan lap thu 4 
lan lap thu 5 
lan lap thu 6 
lan lap thu 7 
lan lap thu 8 
lan lap thu 9 

 

Vòng lặp while

Với vòng lặp while, chương trình sẽ tiếp tục thực thi khối lệnh khi mà điều kiện vẫn thỏa mãn.

Cú pháp


while (dieu kien) {
    //khoi lenh
}
 ?>

Ví dụ

Với cùng bài toán như vòng lặp for, mình sẽ viết với vòng lặp while như sau


$x = 1;
while($x < 10){
echo "lan lap thu $x \n";
$x++;
}
 ?>

 

Chương trình trên khởi tạo cho $x giá trị bằng 1, đầu tiên vòng lặp while kiểm tra giá trị của $x có bé hơn 10 hay ko?. Với giá trị $x = 1 chắc chắn thỏa mãn điều kiện, chương trình thực thi khối lệnh in ra dòng "lần lăp thứ $x \n" với giá trị $x = 1. Sau đó tăng giá trị của $x lên 1 ($x++). Chuyển sang lần lặp thứ 2 chương trình sẽ tiếp tục so sánh với điều kiện và thực thi liên tục khối lệnh cho đến khi giá trị $x không thỏa mãn điều kiện. Đầu ra thu được sẽ tương tự vòng lặp for.

Vòng lặp do - while 

khác với vòng lặp while, vòng lặp do - while sẽ thực thi khối lệnh trước rồi mới kiểm tra điều kiện. Sau khi kiểm tra điều kiện thỏa mãn, vòng lặp vẫn thực thi khối lệnh như vòng lặp while.

Cú pháp 


do {
    //khoi lenh
} 
while (dieu kien);
 ?>

Ví dụ


$x = 1;
do {
echo "lan lap thu $x \n";
$x++;
}while($x<10);
?
 ?>

 

Vòng lặp foreach

Vòng lặp foreach tương tác trên các mảng dữ liệu, vòng lặp này sẽ duyệt qua từng phần tử từ đầu dến cuối của mảng.

Cú pháp


foreach (mang as $value) {
    //khoi lenh
}
 ?>

Một cú pháp tương tự


foreach (mang as $key=>$value) {
    //khoi lenh
}
 ?>

Ví dụ


$sinhvien = array('Tuy','Huy','Cuong');
foreach($sinhvien as $item){
echo 'sinh vien '.$item ."\n";
};
 ?>

Ở ví dụ này mình khai báo một mảng gồm tên của 3 sinh viên. Sau đó mình sẽ dùng vòng lặp foreach duyệt mảng $sinhvien và in ra được tên của 3 sinh viên.

output

sinh vien Tuy
sinh vien Huy
sinh vien Cuong

Tổng kết

Qua bài này mình đã hướng dẫn cho các bạn về các vòng lặp. Các vòng lặp thường được ứng dụng để xử lí các công việc cần phải thực hiện nhiều lần giống nhau. Giảm thiểu đa số các dòng code và giúp chương trình trở nên linh hoạt hơn.Nếu các bạn có thắc mắc hay đóng góp về bài viết hãy để lại comment cho mình nhé. Cảm  các bạn :))