Heim > Backend-Entwicklung > PHP-Tutorial > Verhindert die Kurzschlussauswertung von PHP unnötige Funktionsaufrufe?

Verhindert die Kurzschlussauswertung von PHP unnötige Funktionsaufrufe?

Linda Hamilton
Freigeben: 2024-12-04 13:14:10
Original
509 Leute haben es durchsucht

Does PHP's Short-Circuit Evaluation Prevent Unnecessary Function Calls?

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)) 
{
    ......
}
Nach dem Login kopieren

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';
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage