PHP: убить скрипт или преждевременный возврат? - PullRequest
2 голосов
/ 10 сентября 2011

В PHP я могу использовать die () для уничтожения всего скрипта.Тем не менее, я хочу, чтобы скрипт выполнялся до определенной точки и выходил из него без смерти всего скрипта.

Примерно так:

echo "Hello, what is your name?";
if($name == $blacklist)
{
   echo "I don't talk to strangers";
   die(); // This will break all the echos
}
else
  // Stuff

Я просто хочу, чтобы скрипт завершилсяэхо до точки завершения), и использование die () фактически заставит скрипт ничего не печатать.

Есть идеи?Может быть "вернуть 0", как в C?

Ответы [ 2 ]

5 голосов
/ 10 сентября 2011

Вы можете сделать:

die("I don't talk to strangers");

Или:

echo "I don't talk to strangers";exit;

Или просто "вернуть" return;

Или throw new Exception("I don't talk to strangers");

0 голосов
/ 10 сентября 2011

Там нет "выполнения сценария", как вы себе это представляете.

На самом деле запущены два экземпляра одного и того же скрипта, а не один. Первый задает вопрос, а второй проверяет ответ.

Выполнение PHP-скриптов атомарно. Это не похоже на настольное приложение, постоянно работающее в вашем браузере, и даже не демон с постоянным подключением к вашему настольному приложению. Это больше похоже на утилиту командной строки - делает свою работу и выходит. Он работает дискретно.

Итак, вам нужно выбрать правильную ветвь кода для завершения, а не весь скрипт.

...