Trong bài học này, bạn sẽ học cách sử dụng vòng lặp while, do…while, for, foreach để lặp lại một loạt các hành động trong PHP.
1. Các kiểu vòng lặp trong PHP
Các vòng lặp được sử dụng để thực thi cùng một khối mã nhiều lần, cho đến khi một điều kiện nhất định được đáp ứng.
Ý tưởng cơ bản đằng sau một vòng lặp là tự động hóa các nhiệm 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 và tối ưu hơn.
Trong PHP hỗ trợ bốn loại vòng lặp khác nhau:
- while – khi ABC (điều kiện) vẫn còn đúng thì thực hiện công việc XYZ
- do…while – Thực hiện XYZ 1 lần rồi sau đó mới kiểm tra ABC. Nếu đúng thì thực hiện XYZ tiếp cho đến khi ABC sai.
- for – Lặp lại XYZ cho đến khi bộ đếm đạt đến số nhất định.
- foreach – Lặp qua các phần tử trong mảng
Bạn cũng sẽ học cách lặp qua các giá trị của mảng bằng vòng lặp foreach() ở cuối chương này. Vòng lặp foreach() được sinh ra là để dành cho mảng.
2. Vòng lặp While trong PHP – While loop
Câu lệnh while sẽ lặp qua một khối mã cho nếu điều kiện trong câu lệnh while đánh giá là đúng.
Sytax:
while(condition){
// Code to be executed
}
Ví dụ bên dưới đây xác định 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à $i nhỏ hơn hoặc bằng 3. $i sẽ tăng thêm 1 mỗi lần vòng lặp chạy:
<?php
$i = 1;
while($i <= 3){
$i++;
echo "The number is " . $i . "<br>";
}
?>
Kết quả:
The number is 2
The number is 3
The number is 4
3. Vòng lặp do…while trong PHP
Vòng lặp do-while là một biến thể của vòng lặp while, đánh giá điều kiện ở cuối mỗi lần lặp của vòng lặp.
Với vòng lặp do-while, khối mã được thực thi một lần và sau đó điều kiện được xem xét đến, nếu điều kiện là đúng, câu lệnh được lặp lại miễn là điều kiện được chỉ định được đánh giá là đúng.
Syntax:
do{
// Code to be executed
}
while(condition);
Ví dụ sau định nghĩa một vòng lặp bắt đầu bằng $i = 1.
Sau đó, nó sẽ tăng $i lên 1 và in đầu ra.
Sau đó, điều kiện được xem xét và vòng lặp sẽ tiếp tục chạy miễn là $i nhỏ hơn hoặc bằng 3.
<?php
$i = 1;
do{
$i++;
echo "The number is " . $i . "<br>";
}
while($i <= 3);
?>
Kết quả:
The number is 2
The number is 3
The number is 4
Như bạn thấy, với vòng lặp do…while thì lần đầu tiên không cần kiểm tra điều kiện.
Sự khác biệt giữa while và do…while khi lặp
Vòng lặp while khác với vòng lặp do…while như sau:
- 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òng lặp, do đó, nếu biểu thức điều kiện ước lượng thành false, vòng lặp sẽ không bao giờ được thực thi.
- Mặt khác, với vòng lặp do-while, vòng lặp sẽ luôn được thực thi 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 ước tính ở cuối vòng lặp thay vì bắt đầu.
4. Vòng lặp for() trong PHP – For loop
Vòng lặp for lặp lại một khối mã cho đến khi 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 định.
Syntax:
for(initialization; condition; increment){
// Code to be executed
}
3 tham số của vòng lặp for có nghĩa là:
- initialization: Được sử dụng để khởi tạo các biến đế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 của vòng lặp
- condition: Vào đầu mỗi lần lặp, điều kiện được đánh giá. Nếu nó đánh giá là đúng, 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ó ước tính thành false, việc thực hiện vòng lặp kết thúc.
- increment: Nó cập nhật bộ đếm vòng lặp với một giá trị mới. Nó được đánh giá vào 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 $i nhỏ hơn hoặc bằng 3.
Biến $ i sẽ tăng thêm 1 mỗi lần vòng lặp chạy:
<?php
for($i=1; $i<=3; $i++){
echo "The number is " . $i . "<br>";
}
?>
Kết quả:
The number is 1
The number is 2
The number is 3
5. Vòng lặp foreach() trong PHP – Foreach loop
Vòng lặp foreach được sử dụng để lặp qua các mảng.
Syntax:
foreach($array as $value){
// Code to be executed
}
Ví dụ sau đây cho thấy một vòng lặp sẽ in các giá trị của mảng đã cho:
<?php
$colors = array("Red", "Green", "Blue");
// Loop through colors array
foreach($colors as $value){
echo $value . "<br>";
}
?>
Kết quả:
Red
Green
Blue
Có thêm một cú pháp của vòng lặp foreach, đó là phần mở rộng của vòng lặp đầu tiên.
foreach($array as $key => $value){
// Code to be executed
}
Ví dụ:
<?php
$superhero = array(
"name" => "Peter Parker",
"email" => "peterparker@mail.com",
"age" => 18
);
// Loop through superhero array
foreach($superhero as $key => $value){
echo $key . " : " . $value . "<br>";
}
?>
Kết quả:
name : Peter Parker
email : peterparker@mail.com
age : 18
TỔNG KẾT
Như vậy là bạn đã biết cách hoạt động của vòng lặp trong PHP. Cũng đơn giản thôi phải không nào?
Bài tới chúng ta sẽ học về hàm trong PHP. Bắt đầu đến những phần khó hơn. Hãy chăm chỉ ôn tập lại bài đã học bạn nhé.