Vòng lặp trong PHP
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.
- for – lặp qua một khối mã với số lần xác định.
- while – lặp qua một khối mã nếu điều kiện được chỉ định là đúng và sẽ tiếp tục lặp nếu điều kiện là đúng.
- do … while – lặp qua một khối mã một lần, và sau đó lặp lại vòng lặp miễn là điều kiện đặc biệt là đúng.
- foreach – lặp qua một khối mã cho mỗi phần tử trong một mảng.
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 trong PHP
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.
Cú pháp
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ụ
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 trong PHP
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.
Cú pháp
while (condition) {
code to be executed;
}
Ví dụ
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 trong PHP
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.
Cú pháp
do {
code to be executed;
} while (condition);
Ví dụ
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 trong PHP
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ý.
Cú pháp
foreach (array as value) {
code to be executed;
}
Ví dụ
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
Lệnh break trong PHP
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.
Ví dụ
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
Lệnh continue trong PHP
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.
Ví dụ
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