0

変数が定義されていない場合に呼び出される関数がありexit;ます。そのため、ページには何も生成されず、空白のページが生成されます。実際に終了する直前にエラーメッセージが表示されます。したがって、実行することになっている場合、変数が定義されていないため、変数は終了するはずですが、エラーメッセージが実行されると、ページの残りの部分がエラーメッセージの下に読み込まれ、終了しません。何か案は?

public function exit_error() {
    parent::error_array();
    $errors = $this->msg_array;
    return $errors;
    die(); // error should produce, then die here.
}
4

4 に答える 4

1

コードがに達する前に関数から戻っていますexit。これが何をするかreturnです。returnステートメント以降はすべて無視され、実行フローは関数を呼び出した時点に戻ります。

返品とプログラムフローの詳細については、こちらをご覧ください。これは基本的な概念であり、最も単純なプログラムでさえも書きたい場合は、それを理解することが重要です。

于 2010-04-01T19:34:19.160 に答える
0

この行で:

return $errors;

関数は終了し、結果を呼び出し元に返します。ステートメント
の後に来るものはすべて実行されません!return

関数に「これを持って行って、ここで終了です!」returnと言わせることと考えることができます。。


このため、関数内に複数のreturnステートメントを含めることができます。

function($i) {
   if($i > 0) {
       return 'foo';
   }
   $i = -$i;
   return 'bar';
}

関数はナンセンスです。要点は、$iより大きい場合0、ステートメントreturn 'foo'に到達し、関数が存在し、次の行を実行しないということです。

これを使用すると、必要のない可能性のある追加の計算を行わずに、関数を早期に残すことができます。

于 2010-04-01T19:35:43.427 に答える
0

を使用するreturnと、基本的に関数を終了します。を含む後続のステートメントはすべて無視されdie()ます。

ああ、ユニコーンを保存してexit()代わりに使用してください;)。(これは冗談で、PHPdie()と同等です)exit()

于 2010-04-01T19:36:02.083 に答える
0

関数は変数$errorsを返し、関数内のコードは実行されなくなります。

    public function exit_error() {
        parent::error_array();
        $errors = $this->msg_array;
        return $errors;
        echo "hello";
        die();
    }

関数の実行が停止したため、Helloが出力されることはありません。

于 2010-04-01T19:36:17.527 に答える