Vòng lặp trong PHP

Để tránh việc lặp lại nhiều đoạn code giống nhau thì người ta sử dụng vòng lặp, vậy trong PHP có bao nhiêu vòng lặp, cách sử dụng như thế nào, tìm hiểu ngay nhé.

I. Tại sao phải sử dụng vòng lặp PHP

Khi bạn viết code có nhiều đoạn mã giống nhau cứ lặp đi lặp lại thì bạn không thể copy và paste dòng code đó hoặc đoạn mã đó nhiều lần vì điều này khiến rất dể gặp lỗi sai cú pháp và mất rất nhiều thời gian. Chính vì thế mà hầu hết các ngôn ngữ lập trình đều có tính năng vòng lặp giúp bạn giải quyết vấn đề trên.

Trong PHP ta có các loại vòng lặp sau:

  • while - vòng lặp sẽ tiếp tục chạy miễn là điều kiện đúng.
  • do ... while - một biến thể của vòng lặp while, nó kiểm tra điều kiện ở cuối mỗi lần lặp của vòng lặp.
  • for - lặp qua một khối mã một số lần được chỉ định
  • foreach - lặp qua một khối mã cho mỗi phần tử trong một mảng

II. Vòng lặp while

Vòng lặp sẽ tiếp tục chạy miễn là điều kiện của nó là đúng.

1. Cú pháp

while (điều kiện là đúng){
  đoạn mã được thực thi;
}

2. Ví dụ 

Ta có ví dụ sau:  In ra các số từ 1 đến 10

$x = 1; 
while($x <= 10) {
  echo "Đây là số : $x <br>";
  $x++;
} 

Khi chạy đoạn code trên nó sẽ kiểm tra điều kiện. Nếu điều kiện là true, code sẽ được thực thi. Sau đó, nó sẽ kiểm tra lại điều kiện và nếu vẫn true, thực thi lại đoạn code. Nó tiếp tục theo cách này cho đến khi điều kiện là false. Tức là nó xét điều kiện trước rồi mới chạy code. Biến $x được tăng thêm 1 sau mỗi vòng lặp , khi biến $x = 11 thì điều kiện trên không đúng nữa và vòng lặp while sẽ kết thúc.

III. Vòng lặp do ... while

Vòng lặp do ... while là một biến thể của vòng lặp while, nó kiểm tra điều kiện ở cuối mỗi lần lặp của vòng lặp.

1. Cú pháp

do {
  code sẽ thực thi
} while (điều kiện là đúng);

2. Ví dụ

Ta có ví dụ sau:  In ra các số từ 1 đến 10

$x = 1;
do {
  echo "Đây là số : $x <br>";
  $x++;
} while ($x <= 10);

Vòng lặp sẽ bắt đầu từ giá trị $x = 1, sau đó nó sẽ in đầu ra và tăng thêm cho biến $x 1 đơn vị. Tiếp theo nó sẽ được xét điều kiện và vòng lặp sẽ tiếp tục chạy miễn sao $x nhỏ hơn hoặc bằng 10.

IV. Vòng lặp for

Vòng lặp for được sử dụng khi bạn biết trước số lần tập lệnh sẽ chạy.

1. Cú pháp

for (init counter; test counter; increment counter) {
  thực thi code;
}
Giải thích: 
 + init counter: Khởi tạo giá trị bộ đếm vòng lặp
 + test counter: Kiểm tra điều kiện. Nếu nó là TRUE, vòng lặp sẽ tiếp tục. Nếu nó là FALSE, vòng lặp kết thúc.
 + increment counter: Tăng giá trị bộ đếm cho vòng lặp.

2. Ví dụ

Ta có ví dụ sau:  In ra các số từ 1 đến 10

for ($x = 1; $x <= 10; $x++) {
  echo "Đây là số : $x <br>";
}

Vòng lặp bắt đầu từ $x = 1, vòng lặp sẽ tiếp tục chạy cho đến khi giá trị biến $x = 11 sẽ dừng. Biến $x sẽ tăng dần sau mỗi một lần lặp.

V. Vòng lặp foreach

Vòng lặp foreach được sử dụng để lặp qua các mảng.

1. Cú pháp

foreach ($array as $value) {
  code thực thi;
}

2. Ví dụ

Ta có ví dụ: In ra các phần từ trong mảng sau $array = ["a","b","c","d"].

$array = ["a","b","c","d"];
foreach ($array as $item {
  echo "Phần tử : " . $item . "\n";
}

Để lấy giá trị các key của từng phần tử trong mảng thì ta sẽ sử dụng cú pháp mở rộng sau

foreach ($array as $key => $value) {
  code thực thi;
}

 

VI. Từ khoá break và continue

1. Từ khoá break

Từ khoá break dùng để "nhảy ra" chấm dứt việc thực hiện một vòng lặp.

Ví dụ: In ra các số từ 1 đến 10. Nhảy ra khỏi vòng lặp khi đến số 4.

for ($x = 1; $x <= 10; $x++) {
  if ($x == 4) {
    break;
  }
  echo "Đây là số: $x <br>";
}

2. Từ khoá continue

Từ khoá continue dùng để ngắt một lần lặp chứ không ngắt toàn bộ vòng lặp như break.

Ví dụ: In ra các số từ 1 đến 10. Không in ra số 4.

for ($x = 1; $x <= 10; $x++) {
  if ($x == 4) {
    continue;
  }
  echo "Đây là số: $x <br>";
}

Tóm lại từ khóa continue tương tự như break nhưng nó chỉ kết thúc sớm lần lặp hiện tại chứ không phải toàn bộ vòng lặp.

Bài viết nên đọc

Trên đây là những kiến thức từ kinh nghiệm bản thân mình nên các bạn có thể tham khảo. Nếu các bạn có góp ý cho mình thì hãy gửi vào đây, mình sẵn sàng nhận ý kiến đóng góp từ các bạn.

Ngoc Phuong

Ngoc Phuong - 82 bài viết - Đánh giá:

Có 2 cách học hiệu quả nhất, 1 là nói cho người khác biết thứ bạn mới học được, 2 là nói cho người khác biết thứ bạn sắp quên. Tôi mới học được rất nhiều thứ. Tôi cũng sắp quên rất nhiều thứ.

Để lại bình luận

Địa chỉ email của bạn sẽ không được công khai