Vòng lặp trong PHP là một cấu trúc quan trọng cho phép thực hiện một tập hợp các lệnh hoặc khối mã lặp đi lặp lại theo một số lần xác định hoặc cho đến khi một điều kiện được thỏa mãn. Chúng cung cấp khả năng điều khiển các hoạt động lặp lại dựa trên các điều kiện hoặc phạm vi cụ thể, giúp tối ưu hóa xử lý dữ liệu và tự động hóa các tác vụ lặp lại. Hãy cùng Vietnix tìm hiểu chủ đề vòng lặp trong PHP qua bài viết dưới đây.
Vòng lặp trong PHP là gì?
Vòng lặp trong PHP là một cấu trúc cho phép thực thi lặp đi lặp lại một đoạn mã (một câu lệnh hoặc một khối lệnh) nhiều lần. Việc lặp lại này sẽ tiếp tục cho đến khi một điều kiện cụ thể được đáp ứng. Việc này giúp cho người dùng tiết kiệm được nhiều thời gian, công sức khi viết code.
Các loại vòng lặp
Dưới đây sẽ là các loại vòng lặp trong PHP mà bạn nên biết.
1. Vòng lặp for
for
được sử dụng khi bạn biết trước block code cần thực hiện bao nhiêu lần. Vòng lặp for
còn được gọi là entry-controlled loops (vòng lặp kiểm soát đầu vào). Trong for
có 3 tham số chính: khởi tạo, điều kiện, bộ đếm.
Cú pháp:
for (initialization expression; test condition; update expression) {
// code to be executed
}
Trong vòng lặp for
, một biến được sử dụng để điều khiển vòng lặp. Đầu tiên khởi tạo biến vòng lặp này thành một giá trị nào đó, sau đó kiểm tra xem biến này có nhỏ hơn hoặc lớn hơn giá trị bộ đếm hay không. Nếu câu lệnh là true, thì thân vòng lặp được thực thi và biến vòng lặp được cập nhật. Các bước được lặp lại cho đến khi có điều kiện thoát.
- Biểu thức khởi tạo (Initialization Expression): tạo bộ đếm vòng lặp tới một giá trị nào đó (ví dụ $ num = 1).
- Biểu thức kiểm tra (Test Expression): bạn phải kiểm tra điều kiện. Nếu điều kiện xem là True thì thực hiện các lệnh theo sau và cập nhật biểu thức, nếu trả về False, bạn sẽ thoát khỏi vòng lặp (ví dụ $num <= 10).
- Cập nhật biểu thức (Update Expression):Sau khi thực hiện vòng lặp, biểu thức bắt đầu tăng/giảm biến của vòng lặp theo một số giá trị (ví dụ $num += 2).
Ví dụ:
<?php
// code to illustrate for loop
for ($num = 1; $num <= 10; $num += 2) {
echo "$num \n";
}
?>
Output như sau:
1 3 5 7 9
2. Vòng lặp while
Vòng lặp while
cũng là một vòng lặp kiểm soát đầu vào giống như vòng lặp for
. Trước tiên nó kiểm tra điều kiện ở đầu vòng lặp và nếu điều kiện đúng thì nó sẽ vào vòng lặp và thực thi khối câu lệnh, và tiếp tục thực hiện nó cho đến khi điều kiện đúng.
Cú pháp:
while (if the condition is true) {
// code is executed
}
Ví dụ:
<?php
// PHP code to illustrate while loops
$num = 2;
while ($num < 12) {
$num += 2;
echo $num, "\n";
}
?>
Output như sau:
4 6 8 10 12
3. Vòng lặp do-while
Đây là vòng lặp có điều kiện thoát. Trước tiên nó vào vòng lặp, thực hiện các câu lệnh, sau đó kiểm tra điều kiện. Do đó, một câu lệnh được thực thi ít nhất một lần khi sử dụng vòng lặp do…while
. Sau khi thực hiện một lần, chương trình vẫn tiếp tục chạy miễn là điều kiện còn đúng.
Cú pháp:
do {
//code is executed
} while (if condition is true);
Ví dụ:
<?php
// PHP code to illustrate do...while loops
$num = 2;
do {
$num += 2;
echo $num, "\n";
} while ($num < 12);
?>
Output như sau:
4 6 8 10 12
Tại đây sẽ có câu hỏi được đưa ra: giữa 2 hàm while
và do-while
khác nhau ra sao? Bạn có thể xem ví dụ sau để thấy được câu trả lời.
<?php
// PHP code to illustrate the difference of two loops
$num = 2;
// In case of while
while ($num != 2) {
echo "In case of while the code is skipped";
echo $num, "\n";
}
// In case of do...while
do {
$num++;
echo "The do...while code is executed at least once ";
} while($num == 2);
?>
Output như sau:
The do...while code is executed at least once
Từ đoạn mã này cho thấy rằng vòng lặp while
chỉ thực thi code block nếu điều kiện ban đầu được thỏa mãn, trong khi vòng lặp do...while
sẽ luôn thực thi code block ít nhất một lần trước khi kiểm tra điều kiện. Kết quả là, chỉ có lệnh bên trong vòng lặp do...while
được thực thi và in ra màn hình.
4. Vòng lặp foreach
Vòng lặp này được sử dụng để duyệt các mảng. Đối với mỗi bộ đếm vòng lặp, một phần tử mảng được gán và bộ đếm kế tiếp được chuyển sang phần tử tiếp theo.
Cú pháp:
foreach (array_element as value) {
//code to be executed
}
Ví dụ:
<?php
$arr = array (10, 20, 30, 40, 50, 60);
foreach ($arr as $val) {
echo "$val \n";
}
$arr = array ("Ram", "Laxman", "Sita");
foreach ($arr as $val) {
echo "$val \n";
}
?>
Output như sau:
10 20 30 40 50 60 Ram Laxman Sita
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về chủ đề vòng lặp trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!