Часть I
Posted in: Основы разработки на РНР, By: admin, At: Сентябрь 25th, 2007
Как и все, кроме наиболее фундаментальных управляющих конструкций, оператор switch — это упрощенный способ выполнения задач, которые можно выполнить с помощью оператора if. Назначение switch — позволить разработчику присваивать блок кода каждому из множества разных возможных случаев, которые может принимать управляющая переменная. Общая форма оператора switch выглядит следующим об разом:
switch(Svariable) { [case <константа>:]
/* код, выполняющийся, когда Svariable равна 1 */
[break; ] [case <константа>:]
/* код, выполняющийся, когда $variable равна 2 */
[break;] …другие случаи [default: ]
/*код, выполняющийся, если не было совпадения ни с одним из случаев*/
}
Совет -
Константы case не ограничены целыми величинами, как в других языках, подобных С. В РНР может использоваться любые значения констант, включая строки и числа с плавающей точкой.
При использовании оператору switch представляется единственная переменная, значение которой сравнивается с теми, которые указаны в каждом индивидуальном предложении case. Фактически оператор switch похож на серию операторов if, как показано в листинге 1.15,
Листинг 1.15. Использование if для имитации switch
/+ Метод с использованием оператора if */
if (SI == 0) echo ‘Первый случай’;
if (SI == 1) echo ‘Второй случай1;
/* Тот же код с применением оператора switch */
switch (Si) {
v case 0:
echo ‘Первый случай’;
break; case 1:
echo 1 Второй случай’;
break;
) . *
Обратите внимание, что когда вы используете оператор switch, то слово break в конце каждого блока является необязательным. Если оно не указано, РНР продолжит обработку сценария с текущего места, выполняя каждый блок case до тех пор, пока не встретит break либо не достигнет конца оператора switch, как показано в листинге 1.16.
Leave a Reply