[PHP cơ bản] Các loại vòng lặp (Loop)

Bài này thuộc phần 12 của 15 phần trong serie PHP cho WordPress Developer

Nói đến các ngôn ngữ lập trình thì không thể thiếu một tính năng cực kỳ quan trọng để một ứng dụng có thể chạy hoàn chỉnh, đó là vòng lặp (tiếng Anh là Loop). Và trong khi lập trình với WordPress nói riêng, bạn cũng sử dụng vòng lặp rất nhiều. Ví dụ như bạn có một cái mảng chứa các đối tượng danh sách 10 bài viết, và nếu bạn muốn lấy toàn bộ các đối tượng đó ra ngoài thì sẽ phải dùng vòng lặp.

Vòng lặp nôm na là gì?

Vòng lặp bạn có thể hiểu nó là một tính năng tạo ra một chu kỳ thực hiện một kịch bản nào đó với ngôn ngữ lập trình. Ví dụ thay vì bạn phải tự nhập thủ công từ số 1 đến số 1000 thì có thể sử dụng vòng lặp để nó tự in ra từ 1 đến 1000. Đây là một kỹ thuật cực kỳ quan trọng nên mình muốn bạn tìm hiểu kỹ nhất, không chỉ trong bài này mà còn tham khảo thêm các bài viết khác nói về vòng lặp trên mạng internet.

Các kiểu vòng lặp trong PHP

Trong PHP, hiện tại chúng ta có thể sử dụng 4 loại vòng lặp khác nhau đó là for(), while() và foreach(). Mỗi kiểu vòng lặp sẽ có cách làm việc khác nhau, cụ thể:

  • for – Lặp một hành động với số lần lặp nhất định. Ví dụ bạn muốn in từ số 1 đến 1000 thì sẽ dùng vòng lặp này vì chúng ta có thể đặt điều kiện cho nó dừng lại sau khi lặp 1000 lần.
  • while – Lặp một hành động dựa theo một điều kiện cụ thể mà nó trả về là true. Ví dụ  như trong WordPress, hàm have_posts() sẽ có chức năng kiểm tra trong truy vấn còn đối tượng không, nếu nó return về là true thì lặp, false thì ngừng.
  • do while – Vòng lặp này tương tự giống như while, nhưng bạn có thể đặt một tập hợp các code vào hàm do() rồi nó sẽ lặp lại các code này dựa theo một điều kiện nhất định.
  • foreach – Sử dụng để lặp các khoá và giá trị trong một dữ liệu mảng. Cái này cũng được sử dụng rất nhiều khi làm việc với mảng.

Mình từng học qua PHP nên mình biết nếu bạn nào mới tiếp xúc với lập trình, khái niệm vòng lặp có vẻ rất mơ hồ. Nhưng đừng lo lắng nếu bạn không hiểu, cứ đọc rồi làm theo và bookmark lại trang này. Vài tuần sau có serie Học WordPress nâng cao bạn sẽ hiểu hơn.

Sử dụng vòng lặp for

Để sử dụng vòng lặp for, chúng ta sẽ có cấu trúc code như sau:

<?php
for ($x = 0; $x <= 20; $x++) {
    echo "$x <br>";
}
?>

Trong đó:

  • $x = 0 : Dữ liệu cần lặp, do nó chưa có giá trị nên mình gán nó là 0.
  • $x <= 20 : Điều kiện lặp, ví dụ này nghĩa là nó sẽ lặp đến khi nào $x nhỏ hơn hoặc bằng 20.
  • $x++ : Toán tử đếm khi vòng lặp thực hiện, $x++ nó giống như $x + 1, tức là tăng 1 giá trị mỗi chu kỳ lặp.

Và vòng lặp này chúng ta ít sử dụng trong WordPress.

Sử dụng vòng lặp while

Vòng lặp while là được sử dụng rất nhiều trong WordPress, đặc biệt là để lặp truy vấn (query) để hiển thị dữ liệu bài viết ra bên ngoài. Cách sử dụng như sau:

<?php

while ( [điều kiện] ) {
    // code thực thi trong vòng lặp
}

?>

Ví dụ mình muốn lặp cho đến khi $x nhỏ hơn hoặc bằng 20 thì có như sau:

<?php

$x = 1;

while ( $x <= 20) {
    $x++;
    echo "$x <br>";
}
?>

Sử dụng vòng lặp do…while

Cái vòng lặp này thì cũng tương tự while mà thôi, nhưng nó sẽ thực hiện các đoạn code trước rồi mới kiểm tra điều kiện sau.

<?php

$x = 0;

do {
    $x++;
    echo "$x <br>";
} while ( $x <= 20 )
?>

Sử dụng vòng lặp foreach

Vòng lặp này ta sẽ lặp các giá trị và khoá trong mảng, chúng ta không có gắn điều kiện hay số lần lặp gì cả mà nó sẽ lặp khi nào hết mảng thì thôi.

<?php

$web = array(
    'PHP', 'ASP.NET', 'Ruby on Rail', 'CSS', 'HTML', 'Java'
);

foreach( $web as $lang ) {
    echo "$lang <br>";
}
?>

Trong đó, $web as $lang nghĩa là nó sẽ lấy cặp khoá và giá trị trong mảng $web bỏ vào $lang để hiển thị ra.

Hoặc nếu bạn có một mảng bất tuần tự và muốn hiển thị ra cặp khoá và giá trị thì sẽ làm như sau:

<?php

$web = array(
    'dynamic'    => 'PHP',
    'styling'    => 'CSS',
    'behavior'    => 'Javascript'
);

foreach ( $web as $key => $value ) {
    echo "$key is $value <br>";
}

?>

Lời kết

Ở trên là những gì bạn cần biết về vòng lặp trong PHP. Dĩ nhiên các ví dụ trên đều rất đơn giản nhưng khi thực tế bạn làm việc thì tự động bạn sẽ hiểu sâu thêm, nếu các bạn đã có nền tảng cơ bản. Do vậy bạn nên nắm vững các kiến thức cơ bản ở trên và sau này khi làm việc sẽ thấy mọi thứ dễ dàng hơn nhiều.

Thạch Phạm

Đam mê với web và lập trình, thích viết và chia sẻ, nghiện cà phê và xăm mình, hứng thú với nhạc dân ca và nhạc không lời.

Xem thêm bài viết Subscribe
Do mình về Việt Nam có công việc nên tạm đóng bình luận tới ngày 28/02/2017 vì trong thời gian này mình không hỗ trợ được. Chân thành cáo lỗi về sự bất tiện này.
menu
menu
Hãy ấn nút chia sẻ nếu bạn thấy bài viết có ích!