Я заметил, что вы действительно можете использовать ключевое слово continue
в инструкции switch, но на PHP он не делает того, что я ожидал.
Если он терпит неудачу с PHP, кто знает, сколько других языков он терпит неудачу? Если я много переключаюсь между языками, это может быть проблемой, если код не ведет себя так, как я ожидаю, что он будет вести себя.
Должен ли я просто избегать использования continue
в инструкции switch??
Ошибка PHP (5.2.17):
for($p = 0; $p < 8; $p++){
switch($p){
case 5:
print"($p)";
continue;
print"*"; // just for testing...
break;
case 6:
print"($p)";
continue;
print"*";
break;
}
print"$p\r\n";
}
/*
Output:
0
1
2
3
4
(5)5
(6)6
7
*/
С++ работает как ожидалось (переход к концу цикла for):
for(int p = 0; p < 8; p++){
switch(p){
case 5:
cout << "(" << p << ")";
continue;
cout << "*"; // just for testing...
break;
case 6:
cout << "(" << p << ")";
continue;
cout << "*";
break;
}
cout << p << "\r\n";
}
/*
Output:
0
1
2
3
4
(5)(6)7
*/