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

Thảo luận trong 'Lập trình PHP' bắt đầu bởi Trần Văn Cường, 13/10/16.

  1. Trần Văn Cường

    Trần Văn Cường I love CNTT Thành viên BQT Thành viên BQT

    Tham gia ngày:
    8/11/15
    Bài viết:
    3,693
    Đã được thích:
    43
    Điểm thành tích:
    48
    Giới tính:
    Nam
    Nghề nghiệp:
    Sinh Viên
    Nơi ở:
    Quảng Ninh thân yêu!
    Web:

    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:

    CODE:
    Select All
    <?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:


    CODE:
    Select All
    <?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:

    CODE:
    Select All
    <?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.

    CODE:
    Select All
    <?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.

    CODE:
    Select All
    <?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:

    CODE:
    Select All
    <?php

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

    foreach ( 
    $web as $Mã => $value ) {
     echo 
    "$Mã 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.
     

    Bình Luận Bằng Facebook

    data-href="https://cnttqn.com/threads/php-co-ban-cac-loai-vong-lap-loop.2934.html"
  2. Nguyễn Thành Đạt It

    Nguyễn Thành Đạt It Guest Registered

    Tham gia ngày:
    28/9/16
    Bài viết:
    435
    Đã được thích:
    4
    Điểm thành tích:
    18
    Giới tính:
    Nam
    Nghề nghiệp:
    N/A
    Nơi ở:
    N/A
    Web:
    N/A

    cần lắm 1 lần thông não PHP anh :D
     
  3. Trần Văn Cường

    Trần Văn Cường I love CNTT Thành viên BQT Thành viên BQT

    Tham gia ngày:
    8/11/15
    Bài viết:
    3,693
    Đã được thích:
    43
    Điểm thành tích:
    48
    Giới tính:
    Nam
    Nghề nghiệp:
    Sinh Viên
    Nơi ở:
    Quảng Ninh thân yêu!
    Web:

    có gì đâu mà phải thông. PHP là ngôn ngữ dễ học. Nó thực ra không phải hản một ngôn ngữ rõ ràng. do giờ mã nguồn mở wordpress đang phát triển. Nên php vẫn còn sống và chiếm 10% trong ngôn ngữ lập trình web trên internet. chém gió đấy :D