что возвращает PHP die () - PullRequest
6 голосов
/ 21 мая 2009

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

Ответы [ 6 ]

24 голосов
/ 21 мая 2009

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

http://php.net/die

9 голосов
/ 23 января 2013

Очевидно, 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 означает неверное имя пользователя и т. Д.

9 голосов
/ 21 мая 2009

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

2 голосов
/ 21 мая 2009
1 голос
/ 21 мая 2009

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

1 голос
/ 21 мая 2009

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

...