Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.
[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]
PHP 5 для начинающих
switch
Аннотация
Контрольная структура ветвления switch.
Контрольная структура switch аналогична структуре if...elseif...else с произвольным количеством elseif, проверяющей одно и то же выражение на равенство значению из заданного набора. Сравните.
if ($x == 1) {
print '$x is equal to 1';
} elseif ($x == 2) {
print '$x is equal to 2';
} elseif ($x == 3) {
print '$x is equal to 3';
} else {
print '$x is not equal to 1, 2 or 3';
}
switch ($x) {
case 1:
print '$x is equal to 1';
break;
case 2:
print '$x is equal to 2';
break;
case 3:
print '$x is equal to 3';
break;
default:
print '$x is not equal to 1, 2 or 3';
}
Выражение в скобках (после switch) вычисляется единожды и затем сравнивается со значениями, указанными рядом с case, до тех пор, пока не будет обнаружено равенство. После этого начнет выполняться участок кода в этой ветви. Выполнение продолжается до достижения первого оператора break или же до конца структуры switch. Если равенство так и не было найдено, то выполняется ветвь default
(при ее наличии).
Перечислим некоторые частные случаи.
Значение, указанное рядом с case, может быть не только целым числом, но и числом с плавающей запятой, строкой или логическим значением (любым простым типом).
Оператор break может отсутствовать - в этом случае продолжится выполнение кода из следующей ветви (при ее наличии).
Допустимы пустые ветви case - в этом случае также будет исполняться код из следующей ветви.