САМОУЧИТЕЛЬ PHP 4



         

Конструкции языка - часть 7


В основном continue позволяет вам сэконо­мить количество фигурных скобок в коде и увеличить его удобочитаемость. Это чаще всего бывает нужно в циклах-фильтрах, когда требуется перебрать некоторое количество объектов и выбрать из них только те, которые удовлетворяют определенным условиям. Например, вот цикл, который обнуляет те элементы массива $A, которые удовлетворяют нескольким условиям:

for($i=0; $i<count($A); $i++) {

  if(!óñëîâèå1($A[$i])) continue;

  . . .

  if(!óñëîâèåN($A[$i])) continue;

  $A[$i]=0;

}

Грамотное использование break

и continue — искусство, позволяющее заметно улучшить "читабельность" кода и количество блоков else. Возможно, в приведенных выше примерах оно и не было абсолютно оправданным, но, я уверен, рано или поздно вам придется столкнуться с ситуацией, когда без этих инструкций не обойтись.

Нетрадиционное использование

do-while и break

Есть один интересный побочный эффект, который дает нам инструкция break, и который довольно удобно использовать для обхода "лишних" опе­раторов (кстати, его можно применять и в Си). Необходимость такого об­хода возникает довольно часто, причем именно при программировании сценариев. Рассмотрим соответствующий пример (листинг 9.2):

Листинг 9.2. Модель сценария для обработки формы

. . .

$WasError=0; // èíäèêàòîð îøèáêè — åñëè íå 0, òî áûëà îøèáêà

// Åñëè íàæàëè êíîïêó Submit (ñ èìåíåì $doSubmit)...

if(@$doSubmit) do {

  // Ïðîâåðêà âõîäíûõ äàííûõ




Содержание  Назад  Вперед