Переключатель switch является наиболее удобным средством для организации
мультиветвления. Синтаксис переключателя таков:
switch(expression) // переключающее выражение{casevalue1: // константное выражение 1statements; // блок операторов
break;
casevalue2: // константное выражение 2statements;
break;
default:
statements;
}
Управляющая структура switch передает управление тому из помеченных case операторов, для которого значение константного выражения совпадает со значением переключающего выражения. Если значение переключающего выражения не совпадает ни с одним из константных выражений, то выполняется переход к оператору, помеченному меткой default. В каждом переключателе может быть не более одной метки default, однако она может отсутствовать вообще. Приведем пример программы с переключателем. В этой программе выводятся названия нечетных целых десятичных цифр от 1 до 9 не меньше заданной, в зависимости от числа, указанного в форме test.html. Форма test.html не отличается от той, что мы уже использовали:
<?switch($number)
{case 1:
echo ("one ");
case 2: case 3:
echo ("free");
case 4: case 5:
echo ("five");
case 6: case 7:
echo ("seven");
case 8: case 9:
echo ("nine");
break;
default:
echo ("This isn't number or number is > 9 or < 1");
}?>
Результат выполнения скрипта:
Форма запроса
Результат выполнения скрипта
Так же, как и в случае условного оператора для переключателей допустимы любые степени вложенности, однако злоупотреблять этим без особой на то необходимости также не следует.
Кроме уже сказанного о переключателе, приведенная программа демонстрирует действие оператора break, с помощью которого происходит выход из переключателя. Если поместить операторы break после вывода каждой из цифр, то в окне браузера мы увидим название только одной нечетной цифры.
Как видим, после конструкции switch приведен составной оператор, однако это совершенно не обязательно – после switch может находиться любой оператор, помеченный служебным словом case.
Напомним, что составной оператор, это заключенная в фигурные скобки последовательность операторов.
Заметим также, что в PHP в качестве меток case могут использоваться не только литералы, но и сами метки могут быть переменными. В качестве меток case в PHP не могут выступать только массивы и объекты.
Слово «мем» появилось в 1976 году в книге английского профессора Ричарда Докинза «Эгоистичный ген» от сокращенного слова в древнегреческом языке «μίμημα» («мимем»), означающего «подобие, имитация«. Слово «мем» в книге аналогично гену, который является единицей культурной передачи. Позже «мем» стал одним из самый культовых интернет феноменов, представляя собой информацию, идею, видео или фотографию, которая распространяется от одного человека другому через интернет, словно вирус или ген, который воспроизводится, видоизменяется и развивается.