Các vòng lặp được sử dụng để thực thi lặp đi lặp lại cùng một khối mã, miễn là đáp ứng một điều kiện nhất định. Ý tưởng cơ bản đằng sau một vòng lặp là tự động hóa các tác vụ lặp đi lặp lại trong một chương trình để tiết kiệm thời gian và công sức. PHP hỗ trợ bốn loại vòng lặp khác nhau
- while - lặp qua một khối mã miễn là điều kiện được chỉ định đánh giá là đúng
- do…while — khối mã được thực thi một lần và sau đó điều kiện được đánh giá. Nếu điều kiện là đúng, câu lệnh được lặp lại miễn là điều kiện đã chỉ định là đúng
- for - lặp qua một khối mã cho đến khi bộ đếm đạt đến một số được chỉ định
- foreach — lặp qua một khối mã cho từng phần tử trong một mảng
Bạn cũng sẽ học cách lặp qua các giá trị của mảng bằng cách sử dụng vòng lặp ở cuối chương này. Vòng lặp foreach[]
hoạt động cụ thể với mảng
Vòng lặp trong khi PHP
Câu lệnh while
sẽ lặp qua một khối mã miễn là điều kiện được chỉ định trong câu lệnh while
đánh giá là đúng
trong khi [điều kiện] {
// Code sẽ được thực thi
}
Ví dụ dưới đây định nghĩa một vòng lặp bắt đầu bằng $i=1
. Vòng lặp sẽ tiếp tục chạy miễn là
";
}
while[$i
0 nhỏ hơn hoặc bằng 3. ";
}
while[$i
0 sẽ tăng thêm 1 mỗi khi vòng lặp chạy";
}
?>
Vòng lặp làm…trong khi PHP
Vòng lặp
";
}
while[$i
2 là một biến thể của vòng lặp while, vòng lặp này đánh giá điều kiện ở cuối mỗi lần lặp vòng lặp. Với vòng lặp ";
}
while[$i
2, khối mã được thực thi một lần, sau đó điều kiện được đánh giá, nếu điều kiện là đúng, câu lệnh được lặp lại miễn là điều kiện đã chỉ định được đánh giá là đúnglàm{
// Code sẽ được thực thi
}
trong khi [điều kiện];
Ví dụ sau định nghĩa một vòng lặp bắt đầu bằng $i=1
. Sau đó, nó sẽ tăng
";
}
while[$i
0 với 1 và in đầu ra. Sau đó, điều kiện được đánh giá và vòng lặp sẽ tiếp tục chạy miễn là ";
}
while[$i
0 nhỏ hơn hoặc bằng 3";
}
while[$i
Sự khác biệt giữa vòng lặp while và do…while
Vòng lặp while
khác với vòng lặp
";
}
while[$i
2 ở một điểm quan trọng — với vòng lặp while
, điều kiện cần đánh giá được kiểm tra ở đầu mỗi lần lặp, vì vậy nếu biểu thức điều kiện đánh giá là sai, thì vòng lặp sẽ không bao giờ được thực thiMặt khác, với vòng lặp
";
}
while[$i
2, vòng lặp sẽ luôn được thực hiện một lần, ngay cả khi biểu thức điều kiện là sai, bởi vì điều kiện được đánh giá ở cuối vòng lặp chứ không phải ở đầuPHP cho vòng lặp
Vòng lặp
";
}
?>
1 lặp lại một khối mã miễn là một điều kiện nhất định được đáp ứng. Nó thường được sử dụng để thực thi một khối mã trong một số lần nhất địnhfor[khởi tạo; điều kiện; tăng]{
// Code sẽ được thực thi
}
Các tham số của vòng lặp
";
}
?>
1 có ý nghĩa như sau
3 — nó được sử dụng để khởi tạo các biến bộ đếm và được đánh giá một lần vô điều kiện trước lần thực hiện đầu tiên của phần thân vòng lặp"; } ?>
4 — vào đầu mỗi lần lặp, điều kiện được đánh giá. Nếu nó ước tính là"; } ?>
5, vòng lặp tiếp tục và các câu lệnh lồng nhau được thực thi. Nếu nó đánh giá là"; } ?>
6, thì việc thực hiện vòng lặp kết thúc"; } ?>
7 — nó cập nhật bộ đếm vòng lặp với một giá trị mới. Nó được đánh giá ở cuối mỗi lần lặp"; } ?>
Ví dụ dưới đây định nghĩa một vòng lặp bắt đầu bằng $i=1
. Vòng lặp sẽ tiếp tục cho đến khi
";
}
while[$i
0 nhỏ hơn hoặc bằng 3. Biến ";
}
while[$i
0 sẽ tăng 1 mỗi khi vòng lặp chạyVòng lặp while là vòng lặp đơn giản thực hiện lặp đi lặp lại các câu lệnh lồng nhau trong khi giá trị biểu thức là đúng. Biểu thức được kiểm tra mọi lúc khi bắt đầu vòng lặp và nếu biểu thức được đánh giá là đúng thì vòng lặp được thực thi nếu không thì vòng lặp kết thúc
Vòng lặp do-while
rất giống với vòng lặp while
, ngoại trừ biểu thức chân lý được kiểm tra ở cuối mỗi lần lặp thay vì ở đầu. Sự khác biệt chính so với vòng lặp while
thông thường là lần lặp đầu tiên của vòng lặp do-while
được đảm bảo chạy [biểu thức chân trị chỉ được kiểm tra ở cuối vòng lặp], trong khi nó có thể không nhất thiết phải chạy với vòng lặp while
thông thường [biểu thức chân lý
Chỉ có một cú pháp cho vòng lặp do-while
$i = 0;
do {
echo $i;
} while [$i > 0];
?>
Vòng lặp trên sẽ chạy chính xác một lần, vì sau lần lặp đầu tiên, khi biểu thức chân lý được kiểm tra, nó sẽ ước tính thành false
[$i không lớn hơn 0] và quá trình thực hiện vòng lặp kết thúc
Người dùng C nâng cao có thể quen thuộc với cách sử dụng khác của vòng lặp do-while
, để cho phép dừng thực thi ở giữa các khối mã, bằng cách đóng gói chúng bằng do-while
[0] và sử dụng câu lệnh while
1. Đoạn mã sau minh họa điều này