⊗ppPmLpCn 123 of 447 menu

Hướng dẫn sử dụng lệnh continue trong PHP

Ngoài lệnh break dùng để kết thúc vòng lặp, còn tồn tại lệnh continue, dùng để bắt đầu một lượt lặp mới của vòng lặp. Lệnh này đôi khi có thể hữu ích để đơn giản hóa mã, mặc dù hầu như luôn có thể giải quyết bài toán mà không cần đến nó. Hãy cùng xem một ví dụ thực tế.

Giả sử chúng ta có một mảng số. Hãy duyệt nó bằng vòng lặp và với những số chia hết cho 2, chúng ta sẽ tính bình phương và in ra màn hình, còn những số chia hết cho 3, chúng ta sẽ tính lập phương và in ra màn hình.

Đây là giải pháp cho bài toán đã mô tả:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) { if ($elem % 2 === 0) { $res = $elem * $elem; echo $res; } elseif ($elem % 3 === 0) { $res = $elem * $elem * $elem; echo $res; } } ?>

Như bạn thấy, dòng lệnh echo $res lặp lại hai lần. Hãy đưa nó ra ngoài if, như thế này:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) { if ($elem % 2 === 0) { $res = $elem * $elem; } elseif ($elem % 3 === 0) { $res = $elem * $elem * $elem; } echo $res; // đã đưa việc in ra ngoài điều kiện } ?>

Tuy nhiên, bây giờ script của chúng ta hoạt động hơi khác: kết quả là ngay cả đối với các phần tử thông thường, không được xử lý thông qua if của chúng ta, cũng sẽ thực hiện việc in biến $res ra màn hình, điều mà theo yêu cầu của bài toán chúng ta không cần.

Hãy sửa vấn đề này bằng cách thêm vào if của chúng ta một điều kiện else nữa, điều kiện này sẽ kích hoạt cho các phần tử không chia hết cho 23, và gọi lệnh continue ở đó, lệnh này ngay lập tức sẽ chuyển chúng ta sang lượt lặp mới của vòng lặp:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) { if ($elem % 2 === 0) { $res = $elem * $elem; } elseif ($elem % 3 === 0) { $res = $elem * $elem * $elem; } else { continue; // chuyển sang lượt lặp mới của vòng lặp } echo $res; // sẽ thực thi nếu chia hết cho 2 hoặc 3 } ?>

Hãy viết một vòng lặp, chỉ in ra các số chẵn từ 1 đến 100, bỏ qua các số lẻ bằng cách sử dụng continue.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối