質問

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を返す」?

役に立ちましたか?

解決

できるよ:

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

他のヒント

想像する「スクリプト実行」はありません。

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

PHPスクリプトの実行はAtomicです。ブラウザで絶えず実行されているデスクトップアプリケーションのようなものではなく、デスクトップアプリケーションに永続的な接続を持つデーモンでさえありません。それはコマンドラインユーティリティのようなものです - その仕事と出口を行います。個別に実行されます。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top