Отправляет email-рассылки с помощью сервиса Sendsay

PHP 5 для начинающих

  Все выпуски  

КОНТРОЛЬНЫЕ СТРУКТУРЫ: switch


Вниманию читателей!

Отдельные выпуски рассылки в той или иной мере взаимосвязаны. С предыдущими выпусками Вы можете ознакомиться:

  1. в архиве рассылки (оригиналы выпусков);
  2. на сайте рассылки (исправленные и дополненные версии).

# # #

Вы также можете подписаться на рассылку "PHP 5: Новые возможности".

PHP 6 уже в разработке!

Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.

http://pterodactyl.l2p.net/e107/

[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]

PHP 5 для начинающих

Аннотация

Контрольная структура ветвления 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 - в этом случае также будет исполняться код из следующей ветви.
  • Ветвь default может отсутствовать.

Created with DocBook Created with Libxslt


В избранное