Chào mừng các bạn đã trở lại với Series Học PHP và MySQL từ cơ bản đến nâng cao. Bài học hôm nay chúng ta sẽ cùng tìm hiểu về vòng lặp trong PHP.

Vòng lặp for: Vòng lặp for được lặp với số lần lặp biết trước.

Phát biểu for dùng cho vòng lặp có giới hạn cho trước, cú pháp có dạng như sau:

for (biểu_thức_1; biểu_thức_2; biểu_thức_3)
{
câu lệnh ;
}

Ví dụ:

<?php
for ($j = 1; $j <= 10; $j ++) {
    echo $j . "<br>";
}
?>

Lệnh for là lệnh tạo chu trình có điều kiện.

+ Bước 1 : Tính biểu_thức_1.

+ Bước 2 : Tính biểu_thức_2.

  • Nếu biểu_thức_2 khác 0 thì thực hiện câu lệnh và sang Bước 3.
  • Nếu biểu_thức_2 bằng 0 thì kết thúc vòng for.

+ Bước 3 : Tính biểu_thức_3 và quay lại bước 2.

Biểu_thức_1, biểu_thức_2, biểu_thức_3 là các thành phần. Mỗi thành phần có thể gồm nhiều biểu thức. Khi đó mỗi biểu thức được viết cách nhau một dấu phẩy (“,”).

Các biểu thức được tính lần lượt từ trái qua phải.

Biểu thức trong biểu_thức_2 quyết định thực hiện thân của for.

<?php
for ($i = 0; $j = 4, $i < $j; $i ++, $j --) {
echo ("i =". $i. " ,j = ". $j. "<br>") ;
}
?>

dụ :

Có thể vắng mặt bất kể thành phần nào. Nếu vắng mặt biểu_thức_2 thì câu lệnh luôn được thực hiện. Mặc dù vắng mặt vẫn phải có dấu chấm phẩy (“;”).

Ví dụ :

<?php
for ( ;    ; )
{
if (my_function() == "stop") break;
}
?>

Nếu vắng biểu_thức_1 và biểu_thức_3 thì :

for ( ; biểu_thức 2 ; )
{
    cau_lenh ;
}

tương đương với :

while (biểu_thức_2)
{
cau_lenh ;
}

Ví dụ:

Ở đây vòng lặp sẽ chạy bắt đầu từ vị trí $i = 1, và chạy đến khi nào $i = 10 thì dừng lại

Kết quả sẽ là: 1 2 3 4 5 6 7 8 9 10

 

Vòng lặp while: Vòng lặp while sẽ kiểm tra điều kiện nếu đúng thì mới thực hiện các câu lệnh.

while (biểu_thức)
{
câu lệnh ;
}

Lệnh while là một lệnh tạo chu trình có điều kiện. Điều kiện thực hiện được kiểm tra ở đầu chu trình.

  • Bước 1 : Tính biểu thức.

Nếu biểu thức khác không, sang bước 2.

Nếu biểu thức bằng không, kết thúc vòng while.

  • Bước 2 : Thực hiện câu lệnh.

Quay lại bước 1.

Cú pháp:

 while( điều kiện) {
      // câu lệnh thực thi
 }

Ví dụ:

Chú ý :

  • Biểu thức có thể bao gồm nhiều biểu thức. Khi đó các biểu thức được viết cách nhau một dấu phẩy [,] và được tính lần lượt từ trái qua phải. Biểu thức cuối cùng quyết định thực hiện câu lệnh.
  • Không được phép vắng mặt biểu thức.
  • Để tạo chu trình vô tận thì.
while(1)
{

if (biểu_thức) break;

}

Ví dụ:

<?php
$i = 11;
while (-- $i) {
    if (my_function($i) == error) {
        break;
    }
    ++ $number;
}
?>

Vòng lặp do while : Khác với while, vòng lặp do while sẽ thực hiện ít nhất 1 lần xong mới bắt đầu kiểm tra điều kiện.

Hoạt động :

+ Bước 1 : Thực hiện câu lệnh.

+ Bước 2 : Tính biểu thức biểu_thức.

  • Nếu biểu thức biểu_thức khác không thì quay lại bước 1.
  • Nếu biểu thức biểu_thức bằng không thì kết thúc do … while.

Ví dụ 1:

<?php
$j = 10;
do {
echo $j . "<br>";
$j --;
} while ($j > 0)
?>

Ví dụ 2:

Thoát khỏi cấu trúc điều khiển bằng phát biểu Exit

Để thoát khỏi vòng lặp hay phát biểu điều khiển nào đó, bạn có thể sử dụng phát biểu Exit. Khi chương trình gặp phát biểu Exit, lập tức thông dịch sẽ kết thúc quá trình diễn dịch cho khối chương trình mặc dù bên dưới còn có các phát biểu khác.

Ví dụ:

<?php
$qtty = 5;
$price = 5000;
While ($qtty > 0) {
echo $qtty * $$price;
$qtty --;
If ($qtty == 3)
exit();
}
?>

Trong ví dụ trên nếu biến $qtty bằng 3 thì thoát khỏi vòng lặp while, ngược lại thì cứ tiếp tục thực hiện.

Download Sourse tại đây.

Bài tiếp theo “Mảng trong PHP”.