Выход из управляющей структуры или сценария
Если вы хотите остановить выполнение какого-либо фрагмента, можете воспользоваться одним из трех подходов в зависимости от эффекта, который желаете получить.
Если необходимо прекратить выполнение цикла, можно воспользоваться оператором 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 строк кода внутри блока, что является исключительно полезным для целей профилирования и отладки.
|