PHP の短絡評価は不要な操作を最小限に抑えますか?
PHP には短絡評価と呼ばれるメカニズムがあり、終了することで評価を節約します。以前の状態が次の場合にさらにチェックします。 false.
次のコードを考えてみましょう:
if (is_valid($string) && up_to_length($string) && file_exists($file)) { ...... }
is_valid($string) が false と評価された場合、PHP は up_to_length($string) などの残りの条件のチェックを続行しますか?
PHP は、必要最小限の比較を実行することで遅延を示します。 is_valid($string) が false を返した場合、全体的な条件が既に false であると判断されているため、PHP は残りのチェックをスキップします。
これを説明するために、次の例を考えてみましょう。
function saySomething() { echo 'hi!'; return true; } if (false && saySomething()) { echo 'statement evaluated to true'; }
この場合、saySomething() 関数が「hi!」をエコーするように定義されているにもかかわらず、最初の条件 false が評価を省略し、インタープリタを妨げるため、この関数は呼び出されません。 2 番目の条件に到達するまで。
以上がPHP のショートサーキット評価は不必要な関数呼び出しを防止しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。