⊗ppPmCdBNM 100 of 447 menu

Tính tùy chọn của break trong PHP

Lệnh break là tùy chọn. Tuy nhiên, nếu không có nó, hành vi của các khối case sẽ rất bất ngờ. Hãy xem ví dụ sau. Giả sử chúng ta có đoạn mã như thế này:

<?php $num = 1; switch ($num) { case 1: echo 1; break; case 2: echo 2; break; case 3: echo 3; break; } ?>

Hãy bỏ tất cả các lệnh break trong đó, và trong biến $num, trước tiên hãy ghi số 3.

Lúc này mọi thứ vẫn sẽ hoạt động như trước đây:

<?php $num = 3; // giả sử ở đây là số 3 switch ($num) { case 1: echo 1; case 2: echo 2; case 3: echo 3; } // Sau khi chạy, mã sẽ in ra 3 - mọi thứ đều ổn ?>

Bây giờ hãy ghi số 2 vào biến $num. Trong trường hợp này, case 2 sẽ được thực thi như dự kiến, nhưng sau đó bất ngờ là case 3 cũng được thực thi:

<?php $num = 2; switch ($num) { case 1: echo 1; case 2: echo 2; case 3: echo 3; } // Sau khi chạy, mã sẽ in ra 2, và sau đó là 3 ?>

Nếu chúng ta ghi số 1 vào biến $num, thì tất cả các cấu trúc case sẽ được thực thi:

<?php $num = 1; switch ($num) { case 1: echo 1; case 2: echo 2; case 3: echo 3; } // Sau khi chạy, mã sẽ in ra 1, sau đó là 2, và sau đó là 3 ?>

Vậy là, khi không có break, sau khi thực thi case dự định, tất cả các case bên dưới nó cũng sẽ được thực thi. Đôi khi đặc điểm này được sử dụng khi giải quyết các bài toán.

Trong ví dụ tiếp theo, nếu biến $num có giá trị 1 hoặc 2, thì giá trị 'a' sẽ được ghi vào biến $res. Nếu biến $num có giá trị 3, thì giá trị 'b' sẽ được ghi vào biến $res:

<?php $num = 1; switch ($num) { case 1: case 2: $res = 'a'; break; case 3: $res = 'b'; break; } echo $res; ?>

Ở trên tôi đã viết rằng đôi khi đặc điểm này được sử dụng, nhưng nói chung, tôi không khuyến nghị sử dụng nó, vì mã sẽ trở nên không thực sự rõ ràng.

Giải quyết bài toán như vậy bằng lệnh if sẽ rõ ràng hơn:

<?php $num = 1; if ($num == 1 or $num == 2) { $res = 'a'; } if ($num == 3) { $res = 'b'; } echo $res; ?>
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