2

在 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() 实际上会使脚本不打印任何内容。

有任何想法吗?也许像 C 中的“返回 0”?

4

2 回答 2

6

你可以做:

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");

于 2011-09-10T08:49:10.760 回答
0

没有您想象的“脚本执行”。

实际上有两个相同脚本的实例正在运行,而不是一个。第一个问问题,第二个检查答案。

PHP 脚本的执行是原子的。它不像一个在你的浏览器中不断运行的桌面应用程序,甚至不是一个与你的桌面应用程序持久连接的恶魔。它更像是一个命令行实用程序——完成它的工作并退出。它运行离散。

因此,您必须选择要终止的正确代码分支,而不是整个脚本。

于 2011-09-10T08:55:28.283 回答