Vòng Lặp

Vòng lặp được sử dụng để thực thi một đoạn mã lệnh lặp lại một số lần cho trước.

Vòng Lặp While

Vòng lặp while được dùng để thực thi một đoạn mã lệnh lặp đi lặp lại khi một biểu thức điều kiện cho trước trả về giá trị là true. Vòng lặp while là vòng lặp đơn giản nhất trong số các vòng lặp và nó có cú pháp như sau:

while (biểu thức điều kiện) {
    mã lệnh
}

Ví dụ:

$i = 1;
while ($i <= 10) {
    echo $i++;
}

Chạy

Ở vòng lặp while chúng ta sẽ kiểm tra giá trị của biểu thức $i <= 10. Nếu như biểu thức này trả về giá trị true thì câu lệnh bên trong while sẽ được thực thi:

echo $i++;

Câu lệnh này thực hiện hai việc:

  • Hiển thị giá trị trả về của biến $i: echo $i++ và sau đó
  • Tăng giá trị của $i: $i = $i + 1

Như vậy sau mỗi vòng lặp biến $i được tăng lên 1 đơn vị và với giá trị ban đầu của $i1 thì vòng lặp trên sẽ chạy 10 lần.

Nếu bạn không tăng biến $i sau mỗi vòng lặp thì khi chạy vòng lặp while ở trên sẽ được lặp lại một số lần vô hạn. Lúc này vòng lặp được gọi là lặp vô hạn (hay infinite loop):

$i = 1;
while ($i <= 10) {
    echo $i;
}

Chạy

Với các vòng lặp vô hạn, PHP sẽ chấm dứt việc thực thi của chương trình khi nó chiếm quá nhiều bộ nhớ máy tính đồng thời báo lỗi.

Vòng Lặp Do-While

Vòng lặp do-while tương tự như vòng lặp while tuy nhiên đoạn mã lệnh trong vòng lặp do-while luôn được thực thi ít nhất một lần.

Vòng lặp do-while có cú pháp như sau:

do {
    mã lệnh vòng lặp
} while (biểu thức điều kiện)

Ví dụ:

$i = 0;
do {
    echo $i;
} while ($i > 0)

Chạy

Ở đoạn mã trên đầu tiên chúng ta đặt giá trị ban đầu của biến $i:

$i = 0;

Tiếp theo câu lệnh đặt trong do được chạy lần đầu tiện:

echo $i;

Tiếp theo PHP kiểm tra biểu thức điều kiện trong while, nếu biểu thức này trả về giá trị là true thì câu lệnh trong do sẽ được thực thi lặp lại:

while ($i > 0)

Như vậy mặc dù biểu thức điều kiện trong vòng lặp $i > 0 không trả về giá trị là true nhưng vòng lặp vẫn được chạy một lần.

Vòng Lặp For

Vòng lặp for có cú pháp hơi khác với whiledo-while như sau:

for (biểu thức 1; biểu thức 2; biểu thức 3) {
    mã lệnh
}

Trong đó:

  • Biểu thức 1 được chạy khi vòng lặp bắt đầu và nó chỉ được thực thi ở vòng lặp đầu tiên trong các vòng lặp tiếp theo biểu thức này được bỏ qua
  • Biểu thức 2 được sử dụng làm biểu thức điều kiện để chạy vòng lặp. Nếu biểu thức này trả về giá trị true thì mã lệnh trong vòng lặp mới được thực thi.
  • Biểu thức 3 được chạy ở cuối mỗi vòng lặp

Ví dụ:

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

Chạy

Với vòng lặp như trên quy trình thực hiện sẽ như sau:

  • Bước 1: Biểu thức $i = 1 được thực thi khi PHP bắt đầu vòng lặp đầu tiên. Biểu thức này dùng để gán giá trị cho biến đếm $i.
  • Bước 2: Sau khi gán giá trị đầu tiên cho biến đếm, PHP sẽ kiểm tra giá trị của biểu thức điều kiện $i <= 10. Nếu biểu thức này trả về giá trị là true thì câu lệnh bên trong vòng lặp echo $i sẽ được thực thi.
  • Bước 3: Biểu thức $i++ sẽ được thực thi ở cuối vòng lặp. PHP sẽ lặp lại bước 2 và bước 3 cho tới khi nào biểu thức điều kiện $i <= 10 trả về giá trị false thì vòng lặp sẽ được chấm dứt.

Với giá trị ban đầu của biến đếm $i0 thì vòng lặp trên sẽ được chạy tất cả 10 lần.

PHP

PHP Cơ Bản

Câu Hỏi
Mời Bạn Bè
Gửi email mời bạn bè
Viết Cùng Tác Giả
Bạn biết về chủ đề này và muốn tham gia viết cùng tác giả?