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

ご想像のとおり、「スクリプトの実行」はありません。

実際には、同じスクリプトのインスタンスが 1 つではなく 2 つ実行されています。1 人目は質問をし、2 人目は答えを確認します。

PHP スクリプトの実行はアトミックです。これは、ブラウザーで常に実行されているデスクトップ アプリケーションとは異なります。また、デスクトップ アプリケーションへの永続的な接続を持つ悪魔でさえありません。これは、コマンド ライン ユーティリティに似ており、ジョブを実行して終了します。個別に実行されます。

そのため、スクリプト全体ではなく、終了するコードの適切なブランチを選択する必要があります。

于 2011-09-10T08:55:28.283 に答える