Code Tu Tam

Vòng lặp trong PHP là gì? Cách sử dụng vòng lặp php đơn giản hiệu quả.

5/5 - (1 bình chọn)

Vòng lặp là một thành phần quan trọng không chỉ trong PHP mà trong nhiều ngôn ngữ lập trình khác. Kiến thức cơ bản về vòng lặp thì không khó tuy nhiên việc sử dụng, phân biệt các vòng lặp trong PHP có lẽ nhiều bạn lập trình viên mới vào cũng chưa hiểu rõ hết được.

Cụ thể: Vòng lặp trong PHP được sử dụng để thực hiện một đoạn mã với số lần xác định

Vòng lặp For trong PHP

Vòng lặp For thuận ( vòng lặp xuôi) hay còn gọi là For i

<?php for($i = 0;$i<10;$i++){
    echo $i.PHP_EOL;
}

Vòng lặp trên đây được hiểu là: Lặp giá trị từ 0 đến nhỏ hơn 10, với bước nhảy mỗi lần là 1.

$i++ ở đây tương đương với $i+1, sau mỗi vòng lặp giá trị biến đếm $i sẽ tăng lên 1

Kết quả sẽ là

0
1
2
3
4
5
6
7
8
9

Nếu bạn muốn bước nhảy là 2 cho vòng lặp for trong php thì có thể viết $i+=2;

<?php
for($i = 0;$i<10;$i+=2){
    echo $i.PHP_EOL;
}

Kết quả:

0
2
4
6
8

Có câu hỏi nhỏ, theo các bạn tại sao biến đếm thường được đặt là $i ????

Vòng lặp For nghịch ( Vòng lặp for ngược hay vòng lặp for trừ)

<?php
for($i=5; $i>=0; $i--){
    echo $i.PHP_EOL;
}

Vòng For này hoàn toàn ngược lại so với vòng for bên trên. Thay vì cộng dần biến đếm $i thì vòng for sẽ chạy từ giá trị 5 cho đến khi không thỏa mãn điều kiện $i>=0 ( nghĩa là cho đến lúc $i<0 hay $i = -1), mỗi bước nhảy là 1.

5
4
3
2
1
0

Vòng lặp For vô hạn

Thông thường để lặp vô hạn thường dùng while, do whilte tuy nhiên cúng ta có thể sử dụng For để làm điều này

<?php
$i = 0;
for(;;){
    if($i>5){
        break;
    }
    $i++;
    echo $i.PHP_EOL;
}

Kêt quả

1
2
3
4
5
6

Với For(;;) nghĩa là không có điều kiện bắt đầu và kết thúc, nghĩa là vòng for luôn đúng, điều này đồng nghĩa là vòng for chạy vô hạn

Vòng lặp Foreach trong PHP

Foreach còn thường gọi là For Each, vòng lặp này sẽ duyệt từng phần tử trong 1 mảng danh sách có trước

<?php
$arr = [1,2,3,4,5];
foreach($arr as $item){
    echo $item.PHP_EOL;
}

Kết quả

1
2
3
4
5

Vòng lặp Foreach với mảng key value trong PHP

<?php
$arr = ["apple"=>"Táo","banana"=>"Chuối","orange"=>"Cam"];
foreach($arr as $key=> $item){
    echo $key."-".$item.PHP_EOL;
}

Kết quả:

apple-Táo
banana-Chuối
orange-Cam

Tham khảo thêm kiến thức nâng cao vòng lặp foreach trong PHP

Cách viết khác cho vòng lặp For, Foreach

Ngoài các cách viết trên đây trong PHP cũng có 1 cách viết khác cho vòng lặp for và foreach, cách viết này hạn chế việc mở ngoặc và đóng ngoặc quá nhiều trong đoạn code

<?php
for($i=0;$i<5;$i++):
    echo $i.PHP_EOL;
endfor;

foreach([1,2,3] as $item):
    echo $item.PHP_EOL;
endforeach;

Vòng lặp while

<?php 
while(Điều kiện lặp):
    //Xử lý 
endwhile;

hoặc

while(Điều kiện lặp){
    //Xử lý 
}

Điều kiện lặp phải trả về/ hoặc là giá trị true/false (kiểu boolean).

Câu lệnh sẽ dừng lại khi mà điều kiện lặp không được thỏa mãn. Điều kiện lặp được kiểm tra trước mỗi khi vòng lặp được chạy.

Ví dụ

<?php
$i = 0;
while($i<5):
    $i++;
    echo $i.PHP_EOL; 
endwhile;

Kết quả:

1
2
3
4
5

Vòng lặp do while

Vòng lặp do while trong PHP tương tự như vòng lặp while, chỉ khác 1 điều cơ bản nhất

Xem thêm về vòng lặp do while 

<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);

//Kết quả: 0

ví dụ như đoạn mã trên đây có thể hiểu tương đương với vòng lặp while dưới đây

<?php
$i = 0;
echo $i;
while($i>0){
    echo $i;
}

//Kết quả: 0

Tổng kết

Trong PHP có các loại vòng lặp: For, Foreach, While, Do while. Các vòng lặp này về bản chất gần giống nhau khi thực hiện lặp đi lặp lại câu lệnh 1 số lượng lần nhất định. Tuy nhiên khi hiểu rõ các vòng lặp các bạn có thể áp dụng linh hoạt vòng lặp vào trong trường hợp cụ thể để có thể đạt hiệu quả tốt nhất cho công việc của mình.

Exit mobile version