⊗ppPmCdBNM 100 of 447 menu

PHP에서 break의 선택사항성

명령어 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을 출력합니다 - 모든 것이 정상입니다 ?>

이제 변수 $num에 숫자 2를 넣어보겠습니다. 이 경우 예상대로 case 2가 실행되고, 그런 다음 예상치 못하게 case 3도 실행됩니다:

<?php $num = 2; switch ($num) { case 1: echo 1; case 2: echo 2; case 3: echo 3; } // 실행 후 코드는 2를 출력하고, 그 다음 3을 출력합니다 ?>

만약 변수 $num에 숫자 1를 넣으면, 모든 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이면 변수 $res'a'가 기록됩니다. 반면 변수 $num의 값이 3이면 변수 $res'b'가 기록됩니다:

<?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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부