PHP 的短路求值是否可以最大限度地減少不必要的操作?
PHP 包含一種稱為短路求值的機制,它透過結束來節省求值當先前的條件為假時,進一步檢查。
考慮以下內容程式碼:
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,則 PHP 會跳過剩餘的檢查,因為總體條件已確定為 false。
為了說明這一點,請考慮以下示例:
function saySomething() { echo 'hi!'; return true; } if (false && saySomething()) { echo 'statement evaluated to true'; }
中在這種情況下,儘管saySomething() 函數被定義為回顯“hi!”,但該函數永遠不會被調用,因為第一個條件為false,會短路求值並阻止解釋器到達第二個條件狀況。
以上是PHP 的短路評估是否可以防止不必要的函數呼叫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!