2011-09-10 34 views
1

在PHP中,我可以使用模具()全殺腳本。但是,我希望腳本能夠執行到某個點,並且不會讓整個腳本死亡。Php:殺死腳本還是過早返回?

事情是這樣的:

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 

我只是想腳本終止(並打印回聲高達終止點),使用模具()實際上使腳本打印什麼。

任何想法?也許像C中的「返回0」?

+1

樣品工作對我蠻好。它回聲一切,直到調用die()。你使用的是什麼版本的PHP? –

+0

@Tarek哇,如何在赫克我才犯這種錯誤......某種原因,我以爲模具被稱爲當整個腳本沒有執行。 – dukevin

+0

我的壞大家,對不起,浪費你的時間 – dukevin

回答

4

你可以做

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

但這不會打印'「喂,你叫什麼名字?」' – dukevin

+0

@dulkevin打印,你需要檢查的天氣參數isset在GET/POST請求或不。如果不是,那麼簡單地回顯「Hellow,你叫什麼名字」,否則做黑名單檢查。 –

0

沒有 「執行腳本」 你想象它。

其實有相同的腳本運行的2個實例,沒有之一。
第一個要問的問題和第二個檢查答案。

PHP腳本的執行是原子。它不像桌面應用程序一直在你的瀏覽器中運行,甚至不是持久連接到你的桌面應用程序的惡魔。它更像是一個命令行工具 - 執行它並退出。它運行離散。
所以,你要選擇的代碼正確的分支,終止,而不是整個腳本