Vòng Lặp while
trong PHP
Vòng lặp while
trong PHP đượ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
.
Cú Pháp Vòng Lặp while
Vòng lặp while
là vòng lặp đơn giản nhất so với cú pháp của các vòng lặp khác trong PHP. Cú pháp vòng lặp while
như sau:
while (biểu thức điều kiện) {
// code trong vòng lặp ...
}
Ở ví dụ sử dụng vòng lặp while
dưới đây, giá trị của biểu thức $i <= 10
được kiểm tra tại mỗi lần lặp. Nếu như biểu thức này trả về giá trị true
thì câu lệnh bên trong vòng lặp sẽ được thực thi:
<?php
$i = 1;
while ($i <= 10) {
echo $i++;
}
?>
Lưu ý: Đoạn code bên trong vòng lặp echo $i++
vừa hiển thị giá trị của biến $i
rồi sau đó tăng giá trị biến $i
lên một đơn vị.
Nếu chúng ta không tăng giá trị của 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).
Đoạn code dưới đây khi chạy sẽ rơi vào tình trạng lặp vô hạn:
<?php
$i = 1;
while ($i <= 10) {
echo $i;
}
?>
Với các vòng lặp vô hạn, PHP có thể sẽ dùng nhiều dung lượng bộ nhớ tạm RAM và có thể dẫn tới lỗi tràn bộ nhớ.
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.
Cú Pháp Vòng Lặp do...while
Vòng lặp do-while
có cú pháp như sau:
do {
// code trong vòng lặp...
} while (biểu thức điều kiện)
Ví dụ:
<?php
$i = 0;
do {
echo $i++;
} while ($i < 10);
?>
Lưu ý: Vòng lặpdo...while
chỉ khác với vòng lặp while
ở chỗ câu lệnh đặt trong do
luôn được chạy lần đầu tiên.
Hãy xem ví dụ sau để thấy sự khác biệt này:
<?php
$i = 0;
do {
echo $i++;
} while ($i < 0);
?>
Sự Khác Nhau Giữa Vòng Lặp While và Vòng Lặp Do-While
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.