We rise up for the things we believe in over and over again

Однако, здравствуйте. Оказалось, что оператор Continue, который должен переходить к следующей итерации цикла, внутри которого он вызван, не работает в некоторых случаях. Вот пример:
Суть кода - в switch проверяется значение переменной $i. Если оно равно 8, пишется предупреждение, вызывается оператор Continue, и скрипт переходит к итерации под номером 9. Во всех остальных случаях switch не делает ничего, и сценарий выполняет следующую за switch инструкцию "напиши мне значение переменной $i. А вот что мы получаем на самом деле:
С другой стороны, исправь мы код совсем чуть-чуть, получим ровно то, что требовалось:
Получается, что continue тоже считает switch за цикл? Это засада.
Примечательно вот что:
Про switch ни слова, и тем не менее.
Напомнило случай из прошлого. Ролевка на полигоне, осада крепости. Кто-то из осаждавших перелез через ограждение и вырубил пару засевших внутри. Понеслись вопли:
- Это против правил! Вы не штурмовали крепость!!!
На что Хок, возглавшявший осаду, невозмутимо заявляет:
- Да? Ну ладно.
И далее на всю поляну орёт:
- Объявляем ШТУРМ!!!
После чего лазутчик дорезает оставшихся защитников крепости