Новые книги

Словарь содержит около 1500 терминов (слов, словосочетаний и аббревиатур), относящихся к узкоспециальной лексике из области создания и обслуживания сетей передачи данных. Для каждого термина приводится не только русский эквивалент, но и его определение, что позволяет активно использовать этот словарь при подготовке специалистов по компьютерным наукам. Словарь также может быть полезен для обучения русскоязычных студентов в международных академиях информационных технологий (Cisco, Microsoft и др.). Значительная часть словарных статей сопровождается ссылками на другие термины, что обеспечивает системное усвоение специальных понятий.

Для студентов вузов и ccузов, переводчиков и специалистов в области информационных технологий.
В книге Ольги Ягудиной «Работа с возражениями» рассматриваются компетенции продавца с точки зрения необходимых им знаний, умений и анализа возможности нахождения точки роста. Книга ясно показывает, к чему нужно стремиться продавцу в своем развитии, а также кратко и системно демонстрирует этапы продаж, без лишней теории, в логичной и доступной манере. Описывая же типы возражений с точки зрения психологических и технологических нюансов, автор не только объясняет, почему возникают возражения, но и как практически нужно иметь с ними дело. Примеры основных возражений и ответов на них свидетельствуют о том, что автор имеет огромный практический опыт работы с покупателем, а потому излагает материал доступно, в виде алгоритма действия, а не рассуждений на заданную тему.

switch

Учебник РНР
Назад Глава 11. Структуры Управления Вперёд

switch

Оператор switch напоминает выполнение серии операторов IF над одним выражением. Во многих случаях вам нужно будет сравнить одну переменную (или выражение) с различными значениями и выполнить разные участки кода в зависимости от того, каково значение. Именно это поможет сделать оператор switch.

Следующие два примера это два способа записи одного и того же: в первом используется серия операторов if, во втором - оператор switch:

if ($i == 0) {
    print "i equals 0";
}
if ($i == 1) {
    print "i equals 1";
}
if ($i == 2) {
    print "i equals 2";
}

switch ($i) {
    case 0:
        print "i equals 0";
        break;
    case 1:
        print "i equals 1";
        break;
    case 2:
        print "i equals 2";
        break;
}

Важно понять, как выполняется оператор switch, чтобы исключить ошибки. Оператор switch выполняется построчно (фактически - оператор за оператором). В начале никакой код не выполняется. Только когда будет найден оператор case со значением, совпадающим со значением выражения switch, PHP начнёт выполнять операторы. PHP продолжает выполнение операторов до конца блока switch или до первого оператора break. Если вы не запишете операторы break в конце оператора case в списке, PHP будет выполнять операторы следующего case. Например:

switch ($i) {
    case 0:
        print "i equals 0";
    case 1:
        print "i equals 1";
    case 2:
        print "i equals 2";
}

Здесь, если $i равно 0, PHP выполнит все операторы print! Если $i равно 1, PHP выполнит последние два оператора print, и только если $i равно 2, вы получите 'ожидаемое' поведение, и будет выведено только 'i equals 2'. Итак, важно не забывать записывать операторы break (хотя это может и не понадобиться при некоторых обстоятельствах).

В операторе switch условие вычисляется только один раз, а результат сравнивается с каждым оператором case. В операторе elseif условие вычисляется повторно. Если ваше условие сложнее, чем простое сравнение "и/или" в небольшом цикле, оператор switch может сработать быстрее.

Список операторов в case может также быть пустым, что просто передаёт управление в список операторов следующего case.

switch ($i) {
    case 0:
    case 1:
    case 2:
        print "i is less than 3 but not negative";
        break;
    case 3:
        print "i is 3";
}

Особый случай - default case (case по умолчанию). Этот case совпадёт со всем, с чем не совпали все предыдущие case, и должен быть самым последним case. Например:

switch ($i) {
    case 0:
        print "i equals 0";
        break;
    case 1:
        print "i equals 1";
        break;
    case 2:
        print "i equals 2";
        break;
    default:
        print "i is not equal to 0, 1 or 2";
}

Выражением case может быть любое выражение, которое вычисляется в простой тип, то есть целое число, число с плавающей точкой или строка. Массивы или объекты не могут использоваться здесь, если только они не разыменовываются в простой тип.

Альтернативный синтаксис структур управления поддерживается в switch. Дополнительно см. Альтернативный синтаксис структур управления.

switch ($i):
    case 0:
        print "i equals 0";
        break;
    case 1:
        print "i equals 1";
        break;
    case 2:
        print "i equals 2";
        break;
    default:
        print "i is not equal to 0, 1 or 2";
endswitch;

Назад ОглавлениеВперёд
continueВверхdeclare