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

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

  Все выпуски  

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


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

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

  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 для начинающих

Аннотация

Досрочный выход из цикла.

Не будучи самостоятельной контрольной структурой, break может использоваться в циклических структурах для их досрочного прерывания. Кроме того, мы уже знакомы с использованием break для завершения ветвей (case) в структуре ветвления switch.

$a = array(7, 4, 8, 3, 0, 5);
foreach ($a as $value) {
    if ($value == 0) {
        break;
    }
    print $value;
}
        
7483

По умолчанию break прерывает текущий цикл (ветвь), но, в случае вложенных структур, может прерывать и структуры более высокого уровня. Для этого следует использовать необязательный численный параметр (1 - по умолчанию, прерывает текущую структуру; 2; 3 и т. д.).

$i = 0;
while ($i++) {
    switch ($i) {
        case 1:
        case 3:
        case 5:
            print "$i is odd number<br />\n";
            break 1;    // default, break this case only
        case 2:
        case 4:
            print "$i is even number<br />\n";
            break 1;    // default, break this case only
        case 6:
            break 2;    // break both switch and while
        default:
            break;      // default, skip 0
    }
}
        
1 is odd number
2 is even number
3 is odd number
4 is even number
5 is odd number
        

Замечание

Приведенный пример разработан весьма неэффективно; это сделано с целью продемонстрировать частный случай применения break с дополнительным параметром. Правильнее было бы использовать структуру for и анализировать остаток от деления переменной $i на 2.

for ($i = 1; $i < 6; $i++) {
    if ($i % 2) {
        print "$i is even number<br />\n";
    } else {
        print "$i is odd number<br />\n";
    }
}
            

Created with DocBook Created with Libxslt


В избранное