Thường thì khi bạn viết code, sẽ có lúc bạn muốn một đoạn code lặp lại một số lần nhất định. Vì vậy thay vì viết lại đoạn code đó thì chúng ta có thể sử dụng vòng lặp để để lặp lại đoạn code đó với số lần nhất định.
Vòng lặp dùng để lặp lại một đoạn code, miễn là điều kiện đúng. Trong PHP chúng ta có các vòng lặp sau:
Vòng lặp while
Cú pháp:
1 2 3 |
while (condition) { // code ở đây sẽ được thực thi khi condition còn đúng; } |
Ví dụ: In ra màn hình số từ 1 đến 10
1 2 3 4 5 6 7 |
<?php $i = 1; while ($i <= 10) { echo $i; $i++; } ?> |
- $i = 1: Khởi tạo biến i và gán giá trị là 1.
- $i <= 10: Điều kiện để dừng vòng lặp.
- $i++: Cứ mỗi lần lặp thì biến i sẽ tăng lên 1.
Vòng lặp do…while
Vòng lặp sẽ luôn thực thi 1 lần sau đó mới kiểm tra điều kiện đúng hay sai rồi mới thực thi tiếp.
Cú pháp:
1 2 3 4 |
do { // code ở đây sẽ được thực thi 1 lần sau đó kiểm tra điều kiện; //tức là dù kiện có sai thì nó cũng thực hiện ít nhất 1 lần } while (condition); |
Ví dụ: In ra màn hình số từ 1 đến 10
1 2 3 4 5 6 7 |
<?php $i = 1; do { echo $i; $i++; } while ($i <= 10) ?> |
- $i = 1: Khởi tạo biến i và gán giá trị là 1.
- $i++: Tăng biến i lên 1 đơn vị.
- $i <= 10: Sau đó mới kiểm tra điều kiện dừng.
Vòng lặp for
Sử dụng vòng lặp for khi bạn biết trước số lần sẽ lặp.
Cú pháp:
1 2 3 |
for (variable; condition; increment) { //code ở đây sẽ được thực thi cho mỗi vòng lặp; } |
- variable: Khởi tạo biến và gán giá trì ban đầu.
- condition: Điều kiện để dừng vòng lặp.
- increment: Cứ mỗi lần lặp sẽ tăng hoặc giảm giá trị để đếm số lần lặp.
Ví dụ: In số từ 1 đến 10 ra trình duyệt.
1 2 3 4 5 |
<?php for ($i = 1; $i <= 10; $i++) { echo $i; } ?> |
- $i = 1: Khởi tạo biến i và gán giá trị ban đầu cho nó là 1.
- $i <= 10: Nếu biến i mà lớn hơn 10 thì dừng vòng lặp.
- $i++: Cứ mỗi lần lặp sẽ tăng biến i lên 1 đơn vị.
Vòng lặp foreach
Vòng lặp foreach chỉ dùng để lặp mảng và được sử dụng để lặp qua từng cặp key/value của mảng.
Cú pháp:
1 2 3 |
foreach ($array as $key => $value) { //code ở đây sẽ được thực thi; } |
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $array = [ 'ti' => '18 tuoi', 'teo' => '23 tuoi', 'nam' => '19 tuoi' ]; foreach ($array as $key => $value) { echo $key.": ".$value; echo "<br />"; } ?> |
ti: 18 tuoi teo: 23 tuoi nam: 19 tuoi |
break
Như bạn đã thấy khi ở vòng lặp switch chúng ta đã sử dụng break để nhảy ra khỏi vòng lặp và không thực hiện code bên dưới nó. Break cũng được sử dụng cho vòng lặp khác. Ví dụ bên dưới sẽ thoát vòng lặp khi biến x có giá trị là 5.
1 2 3 4 5 6 7 8 |
<?php for ($i = 1; $i <= 10; $i++) { if ($i == 5) { break; } echo $i; } ?> |
1234 |
continue
Lệnh continue dùng để bỏ qua một vòng lặp khi có một điều kiện xảy ra. Ví dụ dưới đây sẽ bỏ qua vòng lặp nếu biến i là 5 và thực hiện vòng lặp tiếp theo.
1 2 3 4 5 6 7 8 |
<?php for ($i = 1; $i <= 10; $i++) { if ($i == 5) { continue; } echo $i; } ?> |
1234678910 |