Пожалуйста помоги.
for($i=0; $i<12; $i++ ){
switch($i) {
case 0:
case 1:
case 2:
case 3:
case 4:
echo ("i is less than 5 <br>");
break;
case 5:
case 6:
case 7:
case 8:
case 9:
echo ("i is less than 10 <br>");
break;
default:
echo ("i is 10 or more <br>");
}
}
Это пример кода, который я получил в своей книге по Java и перевел вышеприведенный код на PHP.
Вывод следующего кода:
i is less than 5
i is less than 5
i is less than 5
i is less than 5
i is less than 5
i is less than 10
i is less than 10
i is less than 10
i is less than 10
i is less than 10
i is 10 or more
i is 10 or more
Мой вопрос заключается в том, почему из случая 0 в случай 3 выводится «i меньше 5», даже если в нем нет следующего кода, а в случае 4 используется оператор echo? Я в замешательстве, может кто-нибудь объяснить это мне. Заранее спасибо.
Вот так switch
должен работать. Чтобы перестать переходить к следующему случаю, вы должны использовать break
ключевое слово. Это одинаково на всех языках, которые я знаю, включая JavaScript, PHP и Python.
Для справки, проверьте Руководство по PHP.
Просто представьте, что ваш переключатель так
switch($i) {
case 0:
case 1:
case 2:
case 3:
case 4:
echo ("i is less than 5 <br>");
break;
case 5:
case 6:
case 7:
case 8:
case 9:
echo ("i is less than 10 <br>");
break;
default:
echo ("i is 10 or more <br>");
Он будет продолжать нести по цепи, пока не будет вызван разрыв.