Выход из управляющей структуры или сценария

Если вы хотите остановить выполнение какого-либо фрагмента, можете воспользоваться одним из трех подходов в зависимости от эффекта, который желаете получить.

Если необходимо прекратить выполнение цикла, можно воспользоваться оператором break, как было описано ранее в разделе, посвященном оператору switch. В случае применения оператора break в цикле выполнение сценария продолжится, начиная со строки, следующей за циклом. Если требуется перейти к следующей итерации цикла, можно воспользоваться оператором continue.

Для завершения выполнения всего РНР-сценария служит оператор exit. Обычно этот оператор используется при проверке на ошибки. Например, ранее приведенный пример можно было бы изменить следующим образом:

if ($totalqty == 0) {

echo "Вы ничего не заказали на предыдущей странице!<br />";

exit;

}

Оператор exit прекращает выполнение оставшейся части РНР-сценария.

Использование альтернативного синтаксиса управляющих структур

Для всех рассмотренных выше управляющих структур предусмотрена альтернативная форма синтаксиса, при которой открывающая фигурная скобка ({) заменяется двоеточием (:), а закрывающая фигурная скобка (}) — новым ключевым словом, коим может быть endif, endswitch, endwhile, endfor или endforeach, в зависимости от используемой управляющей структуры. Альтернативная форма синтаксиса недоступна для циклов do..while.

Например, показанный ниже код:

if ($totalqty == 0) {

echo "Вы ничего не заказали на предыдущей странице!<br />";

exit;

}

может быть преобразован с использованием ключевых слов if и endif следующим образом:

if ($totalqty == 0) :

echo "Вы ничего не заказали на предыдущей странице!<br />";

exit;

endif;

Использование declare

Еще одна управляющая структура РНР, declare, используется относительно редко по сравнению с другими структурами. Общая форма этой управляющей структуры выглядит следующим образом:

declare (директива)

{

// блок кода

}

Данная структура служит для установки директив выполнения некоторого блока кода, т.е. правил, в соответствие с которыми будет запускаться определенный код. В настоящее время реализована только одна директива выполнения, называемая ticks. Ее можно установить, указав в качестве аргумента директива конструкцию ticks=n. Эта директива позволяет выполнять заданную функцию через каждых n строк кода внутри блока, что является исключительно полезным для целей профилирования и отладки.