PHP が条件付きの OR 演算子を評価する方法に関するパフォーマンス関連の質問があります。
どちらもブール値を返す 2 つの関数を呼び出す条件があります。
1 つ目はシンプルで高速な関数 - simpleFunction() です。
2 番目は、DB をクエリするより集中的な関数です - tensiveFunction()
最初の単純な関数が TRUE を返した場合、2 番目のより強力な関数は実行されないように、次のように条件を記述できます。
if ( simpleFunction() ) {
// Do Stuff
} elseif ( intensiveFunction() ) {
// Do the same stuff (redundant code)
}
私の質問は、PHP 条件で AND 演算子を使用する場合、最初の条件 (演算子の左側) が TRUE の場合、2 番目の関数 (演算子の右側) が実行されますか?
if ( simpleFunction() || intensiveFunction() ) {
//Do Stuff
}
この条件はループ内で実行されるため、すべての反復で tensiveFunction() を実行することは避けたいと思います。