PHP - Các loại vòng lặp
Vòng lặp trong PHP được sử dụng để thực thi cùng một khối mã với một số lần xác định. PHP hỗ trợ bốn kiểu vòng lặp sau.
for - lặp qua một khối mã một số lần xác định.
while - lặp qua một khối mã nếu và miễn là một điều kiện được chỉ định 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 sẽ thảo luận về continue và break từ khóa được sử dụng để kiểm soát việc thực thi các vòng lặp
Câu lệnh vòng lặp for
Câu lệnh for được sử dụng khi bạn biết số lần bạn muốn thực hiện một câu lệnh hoặc một khối câu lệnh.
Cú pháp
for (initialization; condition; increment){
code to be executed;
}
Bộ khởi tạo được sử dụng để đặt giá trị bắt đầu cho bộ đếm số lần lặp lại vòng 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, nó được đặt tên là $ i.
Thí dụ
Ví dụ sau 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 vượt qua của vòng lặp:
<html>
<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>
Điều này sẽ tạo ra kết quả sau:
At the end of the loop a = 50 and b = 25
Câu lệnh lặp while
Câu lệnh while sẽ thực thi một khối mã nếu và miễn là biểu thức kiểm tra là đúng.
Nếu biểu thức kiểm tra là true thì khối mã sẽ được thực thi. Sau khi mã được thực thi, biểu thức kiểm tra sẽ được đánh giá một lần nữa và vòng lặp sẽ tiếp tục cho đến khi biểu thức kiểm tra được phát hiện là sai.
Cú pháp
while (condition) {
code to be executed;
}
Thí dụ
Ví dụ này giảm một giá trị biến trên mỗi lần lặp lại của vòng lặp và bộ đếm tăng lên cho đến khi nó đạt đến 10 khi đánh giá là sai và vòng lặp kết thúc.
<html>
<body>
<?php
$i = 0;
$num = 50;
while( $i < 10) {
$num--;
$i++;
}
echo ("Loop stopped at i = $i and num = $num" );
?>
</body>
</html>
Điều này sẽ tạo ra kết quả sau:
Loop stopped at i = 10 and num = 40
Câu lệnh lặp do ... while
Câu lệnh 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 miễn là một điều kiện là đúng.
Cú pháp
do {
code to be executed;
}
while (condition);
Thí dụ
Ví dụ sau sẽ tăng giá trị của i ít nhất một lần và nó sẽ tiếp tục tăng giá trị của biến i miễn là nó có giá trị nhỏ hơn 10 -
<html>
<body>
<?php
$i = 0;
$num = 0;
do {
$i++;
}
while( $i < 10 );
echo ("Loop stopped at i = $i" );
?>
</body>
</html>
Điều này sẽ tạo ra kết quả sau:
Loop stopped at i = 10
Câu lệnh lặp foreach
Câu lệnh foreach được sử dụng để lặp qua các mảng. Đối với mỗi lần truyền, giá trị của phần tử mảng hiện tại được gán cho giá trị $ và con trỏ mảng được di chuyển bởi một và trong lần truyền tiếp theo, phần tử tiếp theo sẽ được xử lý.
Cú pháp
foreach (array as value) {
code to be executed;
}
Thí dụ
Hãy thử ví dụ sau để liệt kê các giá trị của một mảng.
<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value ) {
echo "Value is $value <br />";
}
?>
</body>
</html>
Điều này sẽ tạo ra kết quả sau:
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Tuyên bố ngắt
PHP break từ khóa được sử dụng để kết thúc quá trình thực thi một vòng lặp sớm.
Các breakcâu lệnh nằm bên trong khối câu lệnh. Nó cung cấp cho bạn toà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ể ra ngoài. Sau khi thoát ra khỏi một vòng lặp, ngay lập tức câu lệnh của vòng lặp sẽ được thực thi.
Thí dụ
Trong ví dụ sau, kiểm tra điều kiện trở thành true khi giá trị bộ đếm đạt đến 3 và vòng lặp kết thúc.
<html>
<body>
<?php
$i = 0;
while( $i < 10) {
$i++;
if( $i == 3 )break;
}
echo ("Loop stopped at i = $i" );
?>
</body>
</html>
Điều này sẽ tạo ra kết quả sau:
Loop stopped at i = 3
Tuyên bố tiếp tục
PHP continue từ khóa được sử dụng để tạm dừng lặp lại hiện tại của một vòng lặp nhưng nó không kết thúc vòng lặp.
Giống như break tuyên bố continuecâu lệnh nằm bên trong khối câu lệnh chứa mã mà vòng lặp thực thi, trước một kiểm tra có điều kiện. Đối với cuộc gặp gỡ vượt quacontinue câu lệnh, phần còn lại của mã vòng lặp bị bỏ qua và lần chuyển tiếp theo bắt đầu.
Thí dụ
Trong ví dụ sau, vòng lặp in ra giá trị của mảng nhưng điều kiện nào trở thành true thì nó chỉ cần bỏ qua mã và giá trị tiếp theo được in.
<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>
Điều này sẽ tạo ra kết quả sau:
Value is 1
Value is 2
Value is 4
Value is 5