Vòng lặp trong PHP (Bài 4)

Vòng lặp trong PHP cũng như trong tất cả các ngôn ngữ lập trình khác được sử dụng để thực hiện những xử lý lặp lại trong khi điều kiện còn thỏa. Điều kiện này, chúng tôi gọi là điều kiện lặp.

Trong PHP, những vòng được hỗ trợ bao gồm

  • Vòng lặp while: Chỉ thực hiện xử lý lặp nếu thỏa điều kiện.
  • Vòng lặp do…while: Thực hiện xử lý ít nhất một lần và nếu điều kiện lặp thỏa thì thưc hiện xử lý lặp tiếp theo.
  • Vòng lặp for: Thực hiện xử lý lặp với số lần lặp được xác định trước.
  • Vòng lặp foreach: Thực hiện những xử lý với mảng.

Giả sử chúng ta cần hiển thị danh sách những sản phẩm là điện thoại thuộc nhóm Apple. Các bạn nghĩ xem, xử lý lặp trong trường hợp này là gì? Câu trả lời chắc chắn là xử lý hiển thị thông tin một sản phẩm là điện thoại. Xử lý hiển thị sẽ kết thúc nếu chúng ta đã hiển hiện hết số lượng sản phẩm trong Apple.

Vòng lặp trong PHP – Vòng lặp while

Vòng lặp while chỉ thực hiện xử lý lặp nếu thỏa điều kiện. Nghĩa là điều kiện phải được kiểm tra trước khi thực hiện xử lý lặp

while (điều_kiện) {
  Xử lý
}

Ví dụ

$i = 1;
$tong = 0;
while ($i <= 10) {
  if ($i % 2 == 0) {
    $tong = $tong + $i;
  }
  $i = $i + 1;
}
echo "Tổng các số chẵn là $tong";

Vòng lặp trong PHP – Vòng lặp do…while

Vòng lặp do…while thực hiện xử lý ít nhất một lần và nếu điều kiện lặp thỏa thì thưc hiện xử lý lặp tiếp theo.

do {
  Xử lý
} while (điều_kiện);

Ví dụ

$i = 1;
$tong = 0;
do {
   if ($i % 2 != 0) {
     $tong = $tong + $i;
   }
   $i = $i + 1;
} while ($i <= 10); 
echo "Tổng các số lẻ là $tong";

Vòng lặp trong PHP – Vòng lặp for

Vòng lặp for thực hiện xử lý lặp với số lần lặp được xác định trước.

for (khởi_tạo; điều_kiện; tăng hoặc giảm) {
  Xử lý
} 

Ví dụ

$n = 17;
for ($i = 2; $i < $n; $i++) {
  if ($n % $i == 0) {
    echo "$n không phải là số nguyên tố";
    break; // Thoát vòng lặp
  }
}

Vòng lặp trong PHP – Vòng lặp foreach

Vòng lặp foreach thực hiện những xử lý với mảng và được sử dụng để lặp qua từng cặp index/value hoặc value.

Lặp qua từng cặp index/value

foreach ($tên_mảng as $index => $value) {

}

Ví dụ

$qualifications = array ("Đại học", "Cao đẳng", "Trung cấp");
foreach ($qualifications as $i => $bang_cap) {
  echo "Vị trí $i. Bằng $bang_cap </br>";
}

Lặp qua từng value

foreach ($tên_mảng as $value) {

} 

Ví dụ

$qualifications = array ("Đại học", "Cao đẳng", "Trung cấp");
foreach ($qualifications as $bang_cap) {
   echo "Bằng $bang_cap </br>";
} 

Vòng lặp trong PHP – Kết luận

Nếu đã xác định trước được số lần lặp thì chúng ta nên sử dụng vòng lặp for. Đối với những xử lý với mảng, chúng ta nên sử dụng vòng lặp foreach. Vòng lặp while và do…while được sử dụng cho những trường hợp còn lại.

Vòng lặp trong PHP – Bài tập

Bài thực hành số 1: Cho 2 số n1 và n2. Tính tổng các số lẻ trong đoạn n1 đến n2.

Bài thực hành số 2: Viết chương trình tạo dãy Fibonaci. (1, 1, 2, 3, 5, 8, 13, 21,…)

Bài thực hành số 3: Hiển thị bảng cửu chương n (2<=n<=9). Ví dụ khi  n = 2 thì kết quả hiển thị như sau

2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18