Учебник PHP. Переключатель switch


serge - Posted on 12 Октябрь 2009

Переключатель switch является наиболее удобным средством для организации мультиветвления. Синтаксис переключателя таков:

switch(expression) // переключающее выражение
{
   case value1: // константное выражение 1
      statements; // блок операторов
   break;
   case value2: // константное выражение 2
      statements;
   break;
   default:        
      statements;
}

Управляющая структура switch передает управление тому из помеченных case операторов, для которого значение константного выражения совпадает со значением переключающего выражения. Если значение переключающего выражения не совпадает ни с одним из константных выражений, то выполняется переход к оператору, помеченному меткой default. В каждом переключателе может быть не более одной метки default, однако она может отсутствовать вообще. Приведем пример программы с переключателем. В этой программе выводятся названия нечетных целых десятичных цифр от 1 до 9 не меньше заданной, в зависимости от числа, указанного в форме test.html. Форма test.html не отличается от той, что мы уже использовали:

<form action = "http://localhost/PHP/chapt2/switch.php" method="get">
    number: <input type="text" name="number"/><br>
    <input type="submit"/>
</form>  

<?
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 не могут выступать
только массивы и объекты.

Поиск

Добавить сайт в Закладки

ОднаКнопка