Vòng lặp là một trong những cấu trúc cơ bản của lập trình, cho phép bạn thực hiện lặp đi lặp lại một đoạn mã nhất định cho đến khi điều kiện kết thúc vòng lặp được đáp ứng. Trong PHP, có nhiều loại vòng lặp khác nhau phục vụ các mục đích khác nhau. Trong bài viết này, chúng ta sẽ tìm hiểu các loại vòng lặp trong PHP, cú pháp và cách sử dụng chúng.

1. Vòng lặp while

Vòng lặp while thực hiện lặp lại đoạn mã khi điều kiện đúng (true). Khi điều kiện sai (false), vòng lặp dừng lại.

Cú pháp:

php
while (condition) {
    // Code cần lặp lại
}

Ví dụ:

php
$i = 1;
while ($i <= 5) {
    echo "Số: $i<br>";
    $i++;
}

Giải thích:

  • Bắt đầu với giá trị của $i là 1.
  • Điều kiện $i <= 5 được kiểm tra trước mỗi lần lặp.
  • Sau mỗi lần in giá trị $i, biến này được tăng thêm 1.
  • Khi $i lớn hơn 5, vòng lặp sẽ dừng.

Kết quả:

plain
Số: 1
Số: 2
Số: 3
Số: 4
Số: 5

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

Vòng lặp do...while tương tự như vòng lặp while, nhưng khác biệt chính là nó sẽ luôn thực hiện ít nhất một lần, ngay cả khi điều kiện là false ngay từ đầu.

Cú pháp:

php
do {
    // Code cần lặp lại
} while (condition);

Ví dụ:

php
$i = 6;
do {
    echo "Số: $i<br>";
    $i++;
} while ($i <= 5);

Giải thích:

  • Giá trị ban đầu của $i là 6, và điều kiện $i <= 5 là sai.
  • Tuy nhiên, vòng lặp vẫn thực hiện ít nhất một lần trước khi kiểm tra điều kiện.

Kết quả:

plain
Số: 6

3. Vòng lặp for

Vòng lặp for thường được sử dụng khi bạn biết trước số lần lặp. Cấu trúc vòng lặp này bao gồm ba phần: khởi tạo biến, điều kiện lặp, và cập nhật biến.

Cú pháp:

php
for (initialization; condition; increment/decrement) {
    // Code cần lặp lại
}

Ví dụ:

php
for ($i = 1; $i <= 5; $i++) {
    echo "Số: $i<br>";
}

Giải thích:

  • $i = 1: Khởi tạo biến $i với giá trị 1.
  • $i <= 5: Điều kiện kiểm tra trước mỗi lần lặp.
  • $i++: Sau mỗi lần lặp, $i được tăng thêm 1.

Kết quả:

plain
Số: 1
Số: 2
Số: 3
Số: 4
Số: 5

4. Vòng lặp foreach

Vòng lặp foreach thường được sử dụng để lặp qua các phần tử của một mảng. Đây là cách dễ nhất để duyệt qua tất cả các phần tử của mảng mà không cần chỉ số (index) cụ thể.

Cú pháp:

php
foreach ($array as $value) {
    // Code cần lặp lại
}

Ví dụ:

php
$fruits = array("Táo", "Cam", "Chuối");

foreach ($fruits as $fruit) {
    echo "Trái cây: $fruit<br>";
}

Giải thích:

  • Vòng lặp foreach lặp qua từng phần tử của mảng $fruits.
  • Mỗi lần lặp, giá trị của phần tử hiện tại được lưu vào biến $fruit.

Kết quả:

plain
Trái cây: Táo
Trái cây: Cam
Trái cây: Chuối

foreach với cặp khóa-giá trị:

Trong trường hợp bạn muốn truy cập cả khóa (key) và giá trị (value) của mảng, bạn có thể sử dụng cú pháp mở rộng:

php
foreach ($array as $key => $value) {
    // Code cần lặp lại
}

Ví dụ:

php
$fruits = array("A" => "Táo", "B" => "Cam", "C" => "Chuối");

foreach ($fruits as $key => $fruit) {
    echo "Khóa: $key - Trái cây: $fruit<br>";
}

Kết quả:

plain
Khóa: A - Trái cây: Táo
Khóa: B - Trái cây: Cam
Khóa: C - Trái cây: Chuối

5. Lệnh break và continue

Lệnh break:

  • break được sử dụng để thoát khỏi vòng lặp ngay lập tức, kể cả khi điều kiện vòng lặp chưa sai.

Ví dụ:

php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        break;
    }
    echo "Số: $i<br>";
}

Kết quả:

plain
Số: 1
Số: 2
Số: 3
Số: 4

Lệnh continue:

  • continue sẽ bỏ qua các câu lệnh còn lại trong vòng lặp và chuyển sang lần lặp tiếp theo.

Ví dụ:

php
for ($i = 1; $i <= 5; $i++) {
    if ($i == 3) {
        continue;
    }
    echo "Số: $i<br>";
}

Kết quả:

plain
Số: 1
Số: 2
Số: 4
Số: 5

Kết Luận

Vòng lặp là một công cụ mạnh mẽ giúp chúng ta xử lý các tác vụ lặp lại một cách hiệu quả và tự động. PHP cung cấp các loại vòng lặp khác nhau như whiledo...whilefor, và foreach, giúp bạn dễ dàng lựa chọn tùy theo nhu cầu và cấu trúc dữ liệu mà bạn đang làm việc. Hiểu và sử dụng tốt vòng lặp sẽ giúp bạn viết mã hiệu quả và tiết kiệm thời gian hơn.