Chương 5: Vòng Lặp trong PHP

Nội dung học:

1. Vòng lặp for

  • Dùng khi biết trước số lần lặp.
  • Cú pháp: for ($i = gia_tri_bat_dau; $i < dieu_kien_ket_thuc; $i++) { // Mã lệnh thực thi }
  • Ví dụ: for ($i = 1; $i <= 5; $i++) { echo "Lần lặp thứ $i \n"; }

2. Vòng lặp while

  • Dùng khi chưa biết số lần lặp trước nhưng có điều kiện lặp.
  • Cú pháp: while (dieu_kien) { // Mã lệnh thực thi }
  • Ví dụ: $i = 1; while ($i <= 5) { echo "Lần lặp thứ $i \n"; $i++; }

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

  • Luôn thực hiện mã lệnh ít nhất một lần trước khi kiểm tra điều kiện.
  • Cú pháp: do { // Mã lệnh thực thi } while (dieu_kien);
  • Ví dụ: $i = 1; do { echo "Lần lặp thứ $i \n"; $i++; } while ($i <= 5);

4. Vòng lặp foreach

  • Dùng để lặp qua các phần tử trong mảng.
  • Cú pháp: foreach ($mang as $gia_tri) { // Mã lệnh thực thi } hoặc: foreach ($mang as $key => $gia_tri) { // Mã lệnh thực thi }
  • Ví dụ: $ds = ["Alice", "Bob", "Charlie"]; foreach ($ds as $ten) { echo "$ten \n"; }

Bài tập thực hành:

  1. Bài tập 1: In bảng cửu chương
    • Yêu cầu: Sử dụng vòng lặp for để in bảng cửu chương từ 1 đến 10.
    • Gợi ý: for ($i = 1; $i <= 10; $i++) { for ($j = 1; $j <= 10; $j++) { echo "$i x $j = " . ($i * $j) . "\n"; } echo "\n"; }
  2. Bài tập 2: Tìm số chia hết cho 3
    • Yêu cầu: In các số từ 1 đến 50, bỏ qua các số chia hết cho 3.
    • Gợi ý: for ($i = 1; $i <= 50; $i++) { if ($i % 3 == 0) { continue; } echo "$i \n"; }
  3. Bài tập 3: Tổng các số trong mảng
    • Yêu cầu: Sử dụng vòng lặp foreach để tính tổng các phần tử trong một mảng.
    • Gợi ý: $numbers = [1, 2, 3, 4, 5]; $sum = 0; foreach ($numbers as $num) { $sum += $num; } echo "Tổng là $sum";
  4. Bài tập 4: Lặp với while và tính giai thừa
    • Yêu cầu: Tính giai thừa của một số nguyên dương nhập vào.
    • Gợi ý: $n = 5; $factorial = 1; $i = 1; while ($i <= $n) { $factorial *= $i; $i++; } echo "Giai thừa của $n là $factorial";

Lưu ý quan trọng:

  • Sử dụng vòng lặp hợp lý để tối ưu mã nguồn.
  • Tránh lặp vô hạn bằng cách đảm bảo điều kiện kết thúc chính xác.
  • Sử dụng break để thoát khỏi vòng lặp khi cần thiết và continue để bỏ qua lần lặp hiện tại.

Viết một bình luận