Прекращение выполнения текущего скрипта часто требующийся функционал. Причинами для прекращения могут быть отсутствие необходимых для выполнения входных параметров, отсутствие прав у текущего пользователя, и прочие условия, невыполнение которых может повлиять на дальнейшую работу скрипта.
Конструкции die() и exit()
Начнем с того, что данные языковые конструкции абсолютно идентичны. die() является псевдонимом exit(), использовать можно любую, на ваше усмотрение. Мы будем рассматривать exit().
exit() предназначена для прекращения выполнения текущего скрипта с возможностью вывода перед этим информационного сообщения. Если не требуется выводить сообщение можно использовать exit без скобок.
В качестве параметра exit() можно передавать строку или целое число.
В случае передачи строки, exit() выведет ее содержимое перед выходом.
Если передается целое число, это значение будет использоваться в качестве статуса выхода и выведено не будет. Статус должен находиться в диапазоне от 0 до 254, статус 0 принимается за успешное выполнение программы.
Также стоит отметить, что exit и die не возвращают никакого значения при выполнении.
return
Предназначена для передачи управления модулю из которого была вызвана.
Если return вызывается из функции, то выполнение функции прекращается и в качестве результата выполнения функции возвращается аргумент return, при его наличии. При отсутствии аргумента возвращается null.
Если return вызывается из глобальной области видимости, прекращается выполнения текущего скрипта.
Если текущий скрипт был подключен с помощью include или require, то выполнение текущего скрипта прекращается, и продолжает выполняться скрипт подключивший текущий.
return также является языковой конструкцией, круглые скобки при вызове не требуются. Наличие пустых скобок вызовет синтаксическую ошибку.
Применение
В итоге, для прекращения выполнения текущего скрипта следует использовать die() или exit(). Если необходимо прервать работу функции, c возвратом результата значения или без, следует использовать return.