if-Anweisungen

Killer-Man

Erfahrenes Mitglied
Ich hab jetzt mal folgendes Script:

PHP:
<?

if (Bedingung1) {

    echo "5 Zeilen Text";

}

elseif (Bedingung2) {

    echo "1000 Zeilen Text";

}

...

?>

Ist es richtig, dass die 1000 Zeilen Text unbeachtet bleiben, wenn die Bedingung2 nicht erfüllt wird, oder erhöht das doch irgendwie die Ladezeit?

(ich weiß, die Frage klingt wirklich anfänger-mäßig, aber bevor ich da nachher schrott baue, frag ich lieber hier nach ;-) )
 
Soweit ich weiß, wird PHP die gesamte Datei parsen, auch wenn dein Block eigentlich gar nicht ausgeführt werden soll.

Allerdings kenne ich mich auf dieser Ebene der Internen Dinge nicht wirklich aus... Aber ich bin sicher, hier schwirren einige Leute rum, die davon Ahnung haben.
 
Der Teil zwischen der Bedingung 2 wird ignoriert, wenn die Bedingung nicht erfüllt ist.
Die Ladezeit kannst du ignorieren. Ist ja nur eine Überprüfung, welche keine Auswirkung auf die Ladezeit hat.
 
Der Teil zwischen der Bedingung 2 wird ignoriert, wenn die Bedingung nicht erfüllt ist.
Die Ladezeit kannst du ignorieren. Ist ja nur eine Überprüfung, welche keine Auswirkung auf die Ladezeit hat.

ok, danke ;)

Ich hatte nämlich befürchtet, dass wenn die Datei wegen den 1000 Zeilen z.B. 40 kb größer ist, sich auch die Ladezeit erhöht. War mir nur nicht sicher, ob der Text igrnoriert wird, wenn die Bedingung nicht erfüllt wird, oder nicht...

Aber dann kann ich da jetzt beruhigt wie bisher weiterarbeiten ;-)
 
Der Teil zwischen der Bedingung 2 wird ignoriert, wenn die Bedingung nicht erfüllt ist.
Die Ladezeit kannst du ignorieren. Ist ja nur eine Überprüfung, welche keine Auswirkung auf die Ladezeit hat.

Das stimmt so nicht, der PHP Parser wird es sich trotzdem vornehmen und abarbeiten, zumindest die Syntax. Deshalb gilt auch je größer eine Datei, desto größer ist die Ladezeit.

Beispiel:

PHP:
$text = "hans";

if($text == "hans") {
  echo "ja";
} else {
  echo "fehler"
}
Das wird einen Syntax Error ausgeben, da ein Semikolon fehlt. Ergo wird auch der Text geparsed, der eigentlich gar nicht ausgeführt wird.

PHP:
$text = "hans";
if($text == "hans") {
  echo "ja";
} else {
  $sql = "ICH BIN SINNLOS";
  $query = mysql_query($sql);
  while($row = mysql_fetch_array($query)) {
    print_r($row);
  }
}
Läuft ohne Fehler aus, obwohl das Query eindeutig falsch ist, syntaktisch ist aber alles korrekt.
 
Zuletzt bearbeitet:
Zurück