PHP:杀死脚本或提前退货?

时间:2011-09-10 08:45:13

标签: php return kill die

在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”?

2 个答案:

答案 0 :(得分:5)

你可以这样做:

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

答案 1 :(得分:0)

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

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

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

因此,您必须选择适当的代码分支来终止,而不是整个脚本。