[PHP cơ bản] Vòng lặp trong PHP

Post on: 2016-12-03 01:34:44 | in: PHP
Vòng lặp là một mã lệnh cho phép chương trình thực hiện lặp lại nhiều lần đến khi thỏa một điều kiện nào đó.

Các bạn vẫn còn nhớ về cấu trúc rẽ nhánh và các vòng lắp if...else, switch case trong PHP chứ? Nếu ai đã quên có thể xem lại bài biểu thức điều kiện trong PHP nhé.
Hôm nay chúng ta sẽ tìm hiểu một phần mới cũng rất quan trọng và không thể thiếu để một ứng dụng có thể chạy hoàn chỉnh trong các ngôn ngữ lập trình nói chung và PHP nói riêng đó là vòng lặp.

Tóm tắt nội dung.

- Vòng lặp là gì?
- Phân loại vòng lặp.
- Vòng lặp FOR trong PHP.
- Vòng lặp FOREACH trong PHP.
- Vòng lặp WHILE trong PHP.
- Vòng lặp DO… WHILE trong PHP.

Vòng lặp là gì?

Để trả lời câu hỏi này ta xét ví dụ: Viết chương trình in thông báo số tháng tương ứng trong năm như dưới.
Không sử dụng vòng lặp:

<?php
  echo "Đây là tháng: 1 <br>";
  echo "Đây là tháng: 2 <br>";
  .
  .
  echo "Đây là tháng: 11 <br>";
  echo "Đây là tháng: 12 <br>";
?>

Sử dụng vòng lặp:

<?php
  for ($x = 1; $x <= 12; $x++) {
    echo "Đây là tháng: $x <br>";
  }
?>

Từ ví dụ ta có thể thấy khi sử dụng vòng lặp đã tránh phải nhập từ 1 đến 12 và viết lại một câu lệnh giống nhau rất nhiều lần từ đây ta đã có câu trả lời vòng lặp là gì.

Vòng lặp trong PHP là một mã lệnh cho phép chương trình thực hiện lặp lại nhiều lần đến khi thỏa một điều kiện nào đó mà không cần phải nhập
dữ liệu nhiều lần.

Phân loại vòng lặp

Trong PHP có các loại vòng lặp:
- Vòng lặp FOR.
- Vòng lặp FOREACH.
- Vòng lặp WHILE.
- Vòng lặp DO… WHILE.

Vòng lặp FOR trong PHP

Vòng lặp for trong PHP được sử dụng khi biết trước bao nhiêu lần kịch bản nên chạy.

Cú pháp:

  for(bien-dieu-kien;bieu-thuc-dieu-kien;bieu-thuc-thay-doi-bien-dieu-kien)
  {
    //câu lệnh
  }

- bien-dieu-kien: Khởi tạo giá trị truy cập vòng lặp.
- bieu-thuc-dieu-kien: Xác định điều kiện thoát khỏi vòng lặp.
- bieu-thuc-thay-doi-bien-dieu-kien: Xác định biến điều kiện thay đổi như thế nào sau mỗi lần lặp thường là tăng hoặc giảm.

Ví dụ: In dãy số từ 1-10.

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

Cũng giống như các câu điều kiện vòng lặp trong PHP cũng có thể lồng nhau. Ở mỗi vòng lặp cha vòng lặp con sẽ được thực hiện lặp cho đến hết.

Vòng lặp FOREACH trong PHP

Vòng lặp foreach trong PHP chỉ hoạt động trên các mảng, và được sử dụng để lặp qua từng cặp key/value trong một mảng không cần gắn điều kiện hay số lần lặp nó sẽ lặp cho đến khi hết mảng.
Cú pháp:
foreach ($array as $key => $value){
    // lệnh
}

hoặc

foreach ($array as $value) {
    //lệnh
}

Trong đó $array là mảng cần lặp, $key là chỉ mục của phần tử, $value là giá trị của phần tử.

Ví dụ: Cho một mảng in ra các phần tử của mảng đó.

 <?php
  $mau = array("xanh", "đỏ", "tím", "vàng");
  foreach ($mau as $value) {
    echo "$value <br>";
  }
?>

Vòng lặp foreach cũng có thể lồng nhau để xử lý mảng nhiều chiều.

Vòng lặp WHILE trong PHP

Vòng lặp while trong PHP được sử dụng khi không xác định được số lần lặp, vòng lặp while hoạt dựa theo một điều kiện mà nó trả về là true.

Cú pháp:

  while ( [dieu-kien] ) {
    // câu lệnh thực thi
  }

Trong đó dieu-kien là điều kiện để dừng vòng lặp, nếu điều kiện là false vòng lặp sẽ dừng lại và nếu đúng nó sẽ thực thi câu lệnh. Nếu điều kiện luôn đúng vòng lặp sẽ rơi vào tình trạng lặp vô hạn.
Ví dụ: In số từ 1-10 như trên.

<?php
   $i = 1;
    while ($i <= 10){
      echo $i.' ';
      $i++;
    }
?>

Vòng lặp while cũng có thể lồng nhau, và có thể lặp theo một biểu thức.

Vòng lặp DO...WHILE trong PHP

Khác với các vòng lặp trước kiểm tra điều kiện trước khi thực hiện câu lệnh, vòng lặp do...while thực hiện câu lệnh trước rồi mấy kiểm tra điều kiện nếu đúng thì lặp tiếp nếu sai thì dừng lại. Do đó vòng lặp do...while luôn
ít nhất thực hiện ít nhất một vòng lặp.

Cú pháp:
do {
    // dòng lệnh
} while (dieu-kien);

ví dụ:

<?php
  $x = 1;
  do {
    $x++;
    echo "$x <br>";
  } while ( $x <= 10 )
?>
Cũng giống như vòng lặp while vòng lặp do...while cũng có thể lặp vô hạn nếu điều kiện luôn đúng.

Tổng kết

Một bài toán có thể được giải quyết bằng một vòng lặp hoặc cũng có thể được giải quyết bởi tất cả tùy vào người sử dụng. Hãy làm tất cả những gì bạn muốn nhưng đừng làm vòng lặp chạy vô hạn nhé!
Tag: php cơ bản