Liên hệ
php cơ bản

Các vòng lặp trong Php

Sử dụng các vòng lặp như vòng lặp foreach, for, vòng lặp while và do while trong Php cũng như từ khóa break và continue

Các vòng lặp Php

Các vòng lặp được sử dụng nhằm mục đích thi khối lệnh nào đó nhiều lần. Trong Php cung cấp một số loại vòng lặp:

  • Vòng lặp for lặp lại một khối lệnh một số lần.
  • Vòng lặp while lặp lại khối lệnh nếu điều kiện kiểm tra là đúng.
  • Vòng lặp do ... while đầu tiên thi hành khối lệnh, đến cuối khối lệnh kiểm tra điều kiện, nếu điều kiện đúng thì lặp lại khối lệnh.
  • Vòng lặp foreach lặp lại khối lệnh cho từng phần tử của một mảng, một interial

Sử dụng trong vòng lặp có hai loại từ khóa hay sử dụng là breakcontinue, để điều hướng lại vòng lặp.

Vòng lặp for

Thường bạn sử dụng vòng lặp này khi đã biết rõ số lần cần lặp lại.

Cú pháp vòng lặp for:

for (khởi_tạo; điều_kiện; tăng_giảm)
{
    Code thi hành;
}

Như vậy vòng lặp for có ba tham số điều khiển lặp cách nhau bởi dấu ;khởi tạo, điều_kiện, tăng_giảm. Sự làm việc như sau:

  1. Khởi đầu thi hành lệnh tại khởi tạo
  2. Kiểm tra biểu thức điều_kiện, nếu là true thi hành khối lệnh rồi sang bước 3, nếu false kết thúc lặp.
  3. Kết thúc khối lệnh, thi hành biểu thức tăng_giảm, lặp lại bước 2

Lưu ý việc viết ba tham số của for, không cận thận có thể dẫn đền vòng lặp vô tận.

Ví dụ lặp lại khối lệnh 10 lần:

for ($i = 1; $i<=10; $i++) {
    echo "Vòng lặp thứ $i <br>";
}

Vòng lặp while

Với vòng lặp while thì bạn không cần biết số lần khối lệnh thi hành, mà khối lệnh sẽ thi hành khi mà điều_kiện còn là true , cú pháp lệnh for như sau:

while (điều_kiện là true) {
    khối lệnh thi hành;
}

Ví dụ dưới đây, đầu tiên gán $i là 1 ($i = 1). Sau đó lặp lại khối lệnh khi mà $i còn nhỏ hơn 5 ($i<5). $i được tăng thêm một ($i++) mỗi lần khối lệnh thi hành:

$i = 1;
while ($i < 5) {
  echo "Giá trị là $i <br />";
  $i++;
}

Vòng lặp do while

Với vòng lặp do ... while, khối lệnh sẽ thi hành ngày, sau đó kiểm tra điều kiện, nếu điều kiện đúng thì lại lặp lại khối lệnh. Cú pháp do ... while như sau:

do {
    khối lệnh thi hành;
} 
while (điều_kiện);

Ví dụ: In ra màn hình giá trị của $i, sau đó tăng $i thêm một. Tiếp theo kiểm tra điều kiện, nếu điều kiện đúng ( $i nhỏ hơn hoặc bằng 5) thì lặp lại khối lệnh.

$i = 2;
do {
   echo "Số là " . $i . "<br/>";
   $i++;
} while($i <= 5);

Vòng lặp foreach

Vòng lặp này chỉ hoạt động dựa trên mảng dữ liệu, và vòng lặp này làm việc bằng cách duyệt qua từng phần tử (cặp key/value) từ đầu đến cuối của mảng.

Cú pháp 1 - chỉ lấy value khi duyệt qua mảng:

foreach (array as $value) {
    code_thực_hiện;
}

Cú pháp 2:

foreach (array as $key => $value) {
    code_thực_hiện;
}

Ví dụ in ra giá trị các phần tử của mảng:

$names = array("THUY", "LONG", "DAN");
foreach ($names as $name) {
    echo $name.'<br />';
}

Sử dụng break

break; được sử dụng trong các vòng lặp for, while, do while, foreach để ngắt ngay lập tức hoàn toàn vòng lặp (thoát ra khỏi vòng lặp). Nếu sử dụng break ngoài vòng lặp có thể dẫn đến kết thúc chương trình.

Ví dụ: Vị dụ vòng lặp sau kết thúc sau khi số 5 được in ra.

for ($i=0;$i<=50;$i++)  {
  echo $i;
  if ($i== 5) {
    break;
  }
}

Sử dụng continue

Sử dụng từ khóa continue trong vòng lặp để bỏ qua vòng hiện tài và bắt đầu một vòng mới.

Ví dụ sau chỉ in ra các số lẻ (vòng lặp gặp số chẵn sẽ bỏ qua).

for ($i=0; $i<10; $i++) {
  if ($i%2==0) {
    continue;
  }
  echo $i . ' ';
}

Vui lòng đăng ký ủng hộ kênh