PHP Cơ bản
PHP Nâng cao
PHP & Cơ sở dữ liệu MySQL
Ví dụ PHP
Tài liệu tham khảo PHP
Quảng cáo

Vòng lặp trong PHP

Trong hướng dẫn này, bạn sẽ học cách lặp lại một loạt các hành động bằng cách sử dụng các vòng lặp trong PHP.

 

Các loại vòng lặp khác nhau trong PHP

Vòng lặp được sử dụng để thực thi lặp lại cùng một khối mã, miễn là đáp ứng một điều kiện nhất định. Ý tưởng cơ bản đằng sau một vòng lặp là tự động hóa các tác vụ lặp đi lặp lại trong một chương trình để tiết kiệm thời gian và công sức. PHP hỗ trợ bốn loại vòng lặp khác nhau.

  • while - lặp qua một khối mã miễn là điều kiện được chỉ định đánh giá là true.
  • do… while - khối mã được thực thi một lần và sau đó điều kiện được đánh giá. Nếu điều kiện là đúng, câu lệnh được lặp lại miễn là điều kiện được chỉ định là đúng.
  • for - lặp qua một khối mã cho đến khi bộ đếm đạt đến một số được chỉ định.
  • foreach - lặp qua một khối mã cho mỗi phần tử trong một mảng.

Bạn cũng sẽ học cách lặp qua các giá trị của mảng bằng foreach()vòng lặp ở cuối chương này. Các foreach()công việc lặp đặc biệt với mảng.


Vòng lặp WHILE trong PHP

Câu lệnh while sẽ lặp qua một khối mã miễn là điều kiện được chỉ định trong câu lệnh while đánh giá là true.

while (điều kiện) {
    // Mã được thực thi
}

Ví dụ dưới đây xác định một vòng lặp bắt đầu bằng $i=1. Vòng lặp sẽ tiếp tục chạy miễn $ilà nhỏ hơn hoặc bằng 3. Giá trị $isẽ tăng lên 1 mỗi khi vòng lặp chạy:

Ví dụ

<?php
$i = 1;
while($i <= 3){
    $i++;
    echo "Số " . $i . "<br>";
}
?>

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

Vòng lặp do-while là một biến thể của vòng lặp while, trong đó đánh giá tình trạng này ở phần cuối của mỗi lần lặp. Với một vòng lặp do-while, khối mã được thực thi một lần và sau đó điều kiện được đánh giá, nếu điều kiện là đúng, câu lệnh được lặp lại miễn là điều kiện được chỉ định được đánh giá là đúng.

do {
    // Đoạn mã được thực thi
}
while (điều kiện);

Ví dụ sau đây xác định một vòng lặp bắt đầu bằng $i=1. Sau đó, nó sẽ tăng lên $ivới 1 và in đầu ra. Sau đó, điều kiện được đánh giá và vòng lặp sẽ tiếp tục chạy miễn $ilà nhỏ hơn hoặc bằng 3.

Ví dụ

<?php
$i = 1;
do{
    $i++;
    echo "Số  " . $i . "<br>";
}
while($i <= 3);
?>

Sự khác biệt giữa vòng lặp while và do… while

Vòng lặp while khác vòng lặp do-while một cách rất lớn - với một vòng lặp while, điều kiện để được đánh giá là thử nghiệm vào đầu mỗi lần lặp, do đó nếu đánh giá lại biểu thức điều kiện là false, vòng lặp sẽ không bao giờ được thực thi.

Với vòng lặp do-while thì khác, vòng lặp sẽ luôn luôn được thực hiện một lần, ngay cả khi biểu thức điều kiện là sai, vì tình trạng đúng sai được đánh giá vào cuối phiên lặp hơn là đầu.


Vòng lặp FOR trong PHP

Vòng lặp for lặp đi lặp lại một khối mã miễn là một điều kiện nhất định được đáp ứng. Nó thường được sử dụng để thực thi một khối mã trong một số lần nhất định.

for (initialization; condition; increment) {
    // Mã được thực thi
}

Các tham số của vòng lặp for có ý nghĩa sau:

  • initialization (khởi tạo)- nó được sử dụng để khởi tạo các biến đếm và được đánh giá một lần vô điều kiện trước khi thực hiện đầu tiên của phần thân của vòng lặp.
  • condition (điều kiện)- ở đầu mỗi lần lặp, điều kiện được đánh giá. Nếu nó đánh giá là true, vòng lặp tiếp tục và các câu lệnh lồng nhau được thực thi. Nếu nó đánh giá là false, quá trình thực hiện của vòng lặp kết thúc.
  • increment (tăng)- nó cập nhật bộ đếm vòng lặp với một giá trị mới. Nó được đánh giá vào cuối mỗi lần lặp.

Ví dụ dưới đây xác định một vòng lặp bắt đầu bằng $i=1. Vòng lặp sẽ tiếp tục cho đến khi $inhỏ hơn hoặc bằng 3. Biến $isẽ tăng lên 1 mỗi khi vòng lặp chạy:

Ví dụ

<?php
for($i=1; $i<=3; $i++){
    echo "Số  " . $i . "<br>";
}
?>

Vòng lặp foreach PHP

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

foreach ($array as $value) {
    // Mã được thực thi
}

Ví dụ sau minh họa một vòng lặp sẽ in ra các giá trị của mảng đã cho:

Ví dụ

<?php
$colors = array("Red", "Green", "Blue");
 
// Lặp qua mảng màu
foreach($colors as $value){
    echo $value . "<br>";
}
?>

Có một cú pháp nữa của vòng lặp foreach, đó là phần mở rộng của vòng lặp đầu tiên.

foreach ($array as $key => $value) {
    // Mã được thực thi
}

Ví dụ

<?php
$superhero = array(
    "name" => "Peter Parker",
    "email" => "peterparker@mail.com",
    "age" => 18
);
 
// Loop through superhero array
foreach($superhero as $key => $value){
    echo $key . " : " . $value . "<br>";
}
?>

Bài viết này đã giúp ích cho bạn?

Advertisements