Các vòng lặp trong PHP được sử dụng để thực thi cùng một khối mã nhiều lần. PHP hỗ trợ bốn loại vòng lặp sau.
Chúng ta cũng sẽ thảo luận về các từ khóa continue và break được sử dụng để kiểm soát việc thực hiện các vòng lặp.
Vòng lặp for được sử dụng khi bạn biết số lần bạn muốn thực thi một câu lệnh hoặc một khối các câu lệnh.
for (initialization; condition; increment) {
code to be executed;
}
Bộ khởi tạo được sử dụng để thiết lập giá trị bắt đầu cho bộ đếm số lần lặp. Một biến có thể được khai báo ở đây cho mục đích này và theo truyền thống được đặt tên là $i
.
Ví dụ sau đây thực hiện năm lần lặp và thay đổi giá trị được gán của hai biến trên mỗi lần lặp:
<html>
<head>
<title>Vòng lặp for trong PHP</title>
</head>
<body>
<?php
$a = 0;
$b = 0;
for ($i = 0; $i < 5; $i++) {
$a += 10;
$b += 5;
}
echo ("At the end of the loop a = $a and b = $b" );
?>
</body>
</html>
Đây là kết quả:
At the end of the loop a = 50 and b = 25
Vòng lặp while sẽ thực thi một khối mã nếu biểu thức điều kiện là đúng và sẽ tiếp tục lặp khi biểu thức điều kiện vẫn đúng.
Nếu biểu thức điều kiện là đúng thì khối mã sẽ được thực thi. Sau khi mã đã thực thi, biểu thức điều kiện sẽ lại được kiểm tra và vòng lặp sẽ tiếp tục cho đến khi biểu thức điều kiện là sai.
while (condition) {
code to be executed;
}
Ví dụ này làm giảm giá trị biến trên mỗi lần lặp của vòng lặp và bộ đếm tăng dần cho đến khi đạt 10 khi biểu thức điều kiện là sai và vòng lặp kết thúc.
<html>
<head>
<title>Vòng lặp while trong PHP</title>
</head>
<body>
<?php
$i = 0;
$num = 50;
while($i < 10) {
$num--;
$i++;
}
echo ("Loop stopped at i = $i and num = $num" );
?>
</body>
</html>
Đây là kết quả:
Loop stopped at i = 10 and num = 40
Lưu ý: Vòng lặp while sẽ không được duyệt dù chỉ một lần nếu ngay từ đầu biểu thức điều kiện là sai.
Vòng lặp do ... while sẽ thực thi một khối mã ít nhất một lần - sau đó nó sẽ lặp lại vòng lặp nếu điều kiện là đúng.
do {
code to be executed;
} while (condition);
Ví dụ sau sẽ tăng giá trị của biến $i
ít nhất một lần và nó sẽ tiếp tục tăng biến $i
nếu nó có giá trị nhỏ hơn 10:
<html>
<head>
<title>Vòng lặp do ... while trong PHP</title>
</head>
<body>
<?php
$i = 0;
$num = 0;
do {
$i++;
} while( $i < 10 );
echo ("Loop stopped at i = $i" );
?>
</body>
</html>
Đây là kết quả:
Loop stopped at i = 10
Lưu ý: khác với vòng lặp while, vòng lặp do ... while luôn được lặp qua một lần trước khi tiến hành kiểm tra biểu thức điều kiện cho lần lặp kế tiếp.
Vòng lặp foreach được sử dụng để lặp qua các mảng. Đối với mỗi lần duyệt, giá trị của phần tử mảng hiện tại được gán cho $value
và con trỏ mảng được tăng lên một và trong lần duyệt tiếp theo, phần tử tiếp theo sẽ được xử lý.
foreach (array as value) {
code to be executed;
}
Hãy thử ví dụ sau để liệt kê các giá trị của một mảng.
<html>
<head>
<title>Vòng lặp foreach trong PHP</title>
</head>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach ($array as $value) {
echo "Value is $value <br />";
}
?>
</body>
</html>
Đây là kết quả:
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Từ khóa break trong PHP được sử dụng để chấm dứt ngay lập tức việc thực hiện một vòng lặp.
Câu lệnh break nằm bên trong khối câu lệnh của vòng lặp. Nó cung cấp cho bạn quyền kiểm soát và bất cứ khi nào bạn muốn thoát khỏi vòng lặp, bạn có thể thoát ra. Sau khi thoát ra khỏi một vòng lặp, câu lệnh ngay sau vòng lặp sẽ được thực thi.
Trong ví dụ sau, vòng lặp sẽ kết thúc khi biến $i
có giá trị bằng 3 .
<html>
<head>
<title>Câu lệnh break trong PHP</title>
</head>
<body>
<?php
$i = 0;
while ($i < 10) {
$i++;
if ($i == 3)
break;
}
echo ("Loop stopped at i = $i" );
?>
</body>
</html>
Đây là kết quả:
Loop stopped at i = 3
Từ khóa continue trong PHP được sử dụng để tạm dừng việc thực hiện của vòng lặp hiện tại để chuyển sang vòng lặp mới, nó không chấm dứt vòng lặp như câu lệnh break.
Giống như câu lệnh break, câu lệnh continue nằm bên trong khối câu lệnh mà vòng lặp thực thi. Khi gặp câu lệnh continue, phần còn lại của mã vòng lặp được bỏ qua và chuyển qua vòng lặp tiếp theo.
Trong ví dụ sau đây vòng lặp in các giá trị của mảng, nhưng nó sẽ bỏ qua và không in phần tử trong mảng có giá trị bằng 3.
<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach ($array as $value) {
if ($value == 3)
continue;
echo "Value is $value <br />";
}
?>
</body>
</html>
Đây là kết quả:
Value is 1
Value is 2
Value is 4
Value is 5
Bạn có thể vui lòng tắt trình chặn quảng cáo ❤️ để hỗ trợ chúng tôi duy trì hoạt động của trang web.
Hướng dẫn lập trình PHP toàn tập sẽ giúp bạn từng bước tìm hiểu và nắm vững ngôn ngữ lập trình PHP.
Hướng dẫn cách truy xuất, lọc, sắp xếp dữ liệu MySQL trong PHP sử dụng MySQLi và PDO.
MySQL prepared statements trong PHP rất hữu ích để chống lại các cuộc tấn công SQL Injection.
Hướng dẫn này sẽ giúp bạn tìm hiểu cách thêm dữ liệu vào MySQL sử dụng MySQLi và PDO trong PHP.