⊗ppPmCdBNM 100 of 447 menu

การไม่จำเป็นของ break ใน PHP

คำสั่ง break เป็นสิ่งที่ไม่จำเป็นต้องมี อย่างไรก็ตาม ถ้าไม่มีมัน พฤติกรรมของบล็อก case จะไม่เป็นไปตามที่คาด ลองดูตัวอย่าง สมมติว่าเรามีโค้ดดังนี้:

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

ลองเอา break ทั้งหมดออก และในตัวแปร $num เริ่มแรกให้ใส่ตัวเลข 3

ตอนนี้ทุกอย่างยังคงทำงานเหมือนเดิม:

<?php $num = 3; // ให้มีเลข 3 ตรงนี้ switch ($num) { case 1: echo 1; case 2: echo 2; case 3: echo 3; } // หลังจากรันโค้ดจะแสดง 3 - ดีหมด ?>

คราวนี้ลองใส่ตัวเลข 2 ลงในตัวแปร $num ในกรณีนี้ตามที่คาด case 2 จะทำงาน และตามมาด้วย case 3 ซึ่งไม่คาดคิด:

<?php $num = 2; switch ($num) { case 1: echo 1; case 2: echo 2; case 3: echo 3; } // หลังจากรันโค้ดจะแสดง 2 แล้วก็ 3 ?>

แต่ถ้าใส่ตัวเลข 1 ลงในตัวแปร $num แล้ว โครงสร้าง case ทั้งหมดจะทำงาน:

<?php $num = 1; switch ($num) { case 1: echo 1; case 2: echo 2; case 3: echo 3; } // หลังจากรันโค้ดจะแสดง 1, 2 และ 3 ?>

นั่นคือ เมื่อไม่มี break หลังจาก case ที่ตั้งใจไว้ทำงานเสร็จแล้ว case ทั้งหมดด้านล่างมันก็จะทำงานตามไปด้วย บางครั้ง คุณลักษณะนี้ถูกนำไปใช้ในการแก้ปัญหา

ในตัวอย่างต่อไปนี้ ถ้าตัวแปร $num มีค่า 1 หรือ 2 แล้ว ค่า 'a' จะถูกเก็บลงในตัวแปร $res แต่ถ้าตัวแปร $num มีค่า 3 แล้ว ค่า 'b' จะถูกเก็บลงในตัวแปร $res:

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

ด้านบนฉันเขียนว่า บางครั้งคุณลักษณะนี้ ถูกนำไปใช้ แต่โดยทั่วไปแล้วฉันไม่แนะนำ ให้ใช้มัน เพราะโค้ดจะไม่ชัดเจน มากนัก

การแก้ปัญหาดังกล่าวให้ชัดเจนขึ้นทำได้โดยใช้ if:

<?php $num = 1; if ($num == 1 or $num == 2) { $res = 'a'; } if ($num == 3) { $res = 'b'; } echo $res; ?>
ไทย
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ʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ