Các vòng lặp trong PHP được sử dụng để thực thi cùng một khối mã với số lần xác định. PHP hỗ trợ bốn loại 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ụ thể là đúng.
do…while − lặp qua một khối mã một lần, sau đó lặp lại vòng lặp miễn là một đ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 tôi sẽ thảo luận về các từ khóa tiếp tục và phá vỡ được sử dụng để kiểm soát việc thực hiện 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 mình muốn thực hiện bao nhiêu lầ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 của 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.
Ví 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 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 vòng 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à đúng thì khối mã sẽ được thực thi. Sau khi mã được thực thi, biểu thức kiểm tra sẽ lại được đánh giá và vòng lặp sẽ tiếp tục cho đến khi phát hiện biểu thức kiểm tra là sai.
Cú pháp
while (condition) { code to be executed; }
Ví dụ
Ví dụ này giảm một 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 đá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>
Điều này sẽ tạo ra kết quả sau –
Loop stopped at i = 10 and num = 40
Câu lệnh vòng 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à điều kiện còn đúng.
Cú pháp
do { code to be executed; } while (condition);
Ví 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 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 vòng 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 vượt qua, giá trị của phần tử mảng hiện tại được gán cho $value và con trỏ mảng được di chuyển theo một và trong lần vượt qua 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> <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
Câu lệnh break
Từ khóa PHP break được sử dụng để kết thúc quá trình thực hiện một vòng lặp sớm.
Câu lệnh break 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ể thoát ra. Sau khi ra khỏi vòng lặp lập tức câu lệnh tới vòng lặp sẽ được thực hiện.
Ví dụ
Trong ví dụ sau, kiểm tra điều kiện trở thành true khi giá trị bộ đếm đạt 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
Câu lệnh continue
Từ khóa continue trong PHP được sử dụng để dừng vòng lặp 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ư câu lệnh break, câu lệnh continue 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 bài kiểm tra có điều kiện. Đối với câu lệnh tiếp tục gặp phải lần vượt qua, phần còn lại của mã vòng lặp sẽ bị bỏ qua và bước tiếp theo sẽ bắt đầu.
Ví dụ
Trong ví dụ sau, vòng lặp in giá trị của mảng nhưng nếu điều kiện trở thành đúng 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