Minimiert die Kurzschlussauswertung von PHP unnötige Vorgänge?
PHP enthält einen Mechanismus namens Kurzschlussauswertung, der Auswertungen durch Beenden spart Weitere Prüfungen, wenn eine frühere Bedingung falsch ist.
Bedenken Sie Folgendes Code:
if (is_valid($string) && up_to_length($string) && file_exists($file)) { ...... }
Wenn is_valid($string) mit „false“ ausgewertet wird, prüft PHP dann die verbleibenden Bedingungen, wie zum Beispiel up_to_length($string)?
PHP demonstriert Faulheit, indem es Folgendes ausführt am wenigsten Vergleiche notwendig. Wenn is_valid($string) false zurückgibt, überspringt PHP die verbleibenden Prüfungen, da die Gesamtbedingung bereits als false ermittelt wurde.
Um dies zu veranschaulichen, betrachten Sie das folgende Beispiel:
function saySomething() { echo 'hi!'; return true; } if (false && saySomething()) { echo 'statement evaluated to true'; }
In In diesem Fall wird die Funktion nie aufgerufen, obwohl die Funktion saySomething() so definiert ist, dass sie „hi!“ ausgibt, da die erste Bedingung, „false“, die Auswertung kurzschließt und den Interpreter daran hindert, die zweite Bedingung zu erreichen Zustand.
Das obige ist der detaillierte Inhalt vonVerhindert die Kurzschlussauswertung von PHP unnötige Funktionsaufrufe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!