Что возвращает PHP die()

В PHP die() дает что-нибудь взамен, когда мы используем это?

6 ответов

В PHP функция die() просто перестает запускать скрипт и выводит аргумент (если есть).

http://php.net/die

Очевидно, что die() или его эквивалент exit() не возвращайте ничего самому сценарию; чтобы быть точным, этот код не имеет особого смысла:

if (die())) {
    echo 'are we dead yet?';
}

Однако, в зависимости от того, что вы передаете в качестве (необязательного) аргумента die() или же exit(), он действительно что-то возвращает вызывающей стороне, то есть команду, которая вызвала запуск вашего скрипта. Его практическое использование обычно ограничено cli SAPI, хотя, когда вы вызываете скрипт из командной строки, используя php /path/to/script.php,

Заметим:

die('goodbye cruel world');

Этот код будет печатать goodbye cruel world а затем вернуть код состояния выхода 0, сообщая вызывающей стороне, что процесс завершен нормально.

Другой пример:

die(1);

Когда вы передаете целочисленное значение вместо строки, ничего не печатается и код состояния выхода будет 1, сообщая вызывающей стороне, что процесс не завершился нормально.

И, наконец, die() без каких-либо аргументов так же, как die(0),

Состояние выхода процесса может быть изменено, чтобы сигнализировать о различного рода ошибках, которые могли произойти, например, 1 означает общую ошибку, 2 означает неверное имя пользователя и т. д.

Почему бы вам не взглянуть на замечательную документацию по PHP? Он даже содержит информацию о die()

Это так же, как exit() и согласно документации ничего не возвращает

Не возвращается. Сценарий завершен, и больше ничего не выполняется.

Нет причин возвращать что-то в die / exit. Эта функция завершает процесс интерпретатора php внутри и возвращает код выхода в оболочку. Поэтому после вызова die() выполнение скрипта не выполняется, поскольку нет процесса интерпретатора, который выполняет скрипт, и поэтому нет способа обработать возврат функции.

Другие вопросы по тегам