⊗ppPmCdBOP 93 of 447 menu

Das Problem der optionalen geschweiften Klammern in Bedingungen in PHP

Obwohl PHP die oben gezeigten Verkürzungen ohne geschweifte Klammern erlaubt, rate ich im Allgemeinen davon ab, dies zu tun, da es ein Nährboden für schwer auffindbare Fehler ist.

Nehmen wir zum Beispiel den folgenden Code:

<?php $test = 3; if ($test > 0) echo $test; ?>

Nehmen wir nun an, wir haben entschieden, falls die Bedingung erfüllt ist, auch noch einen zweiten echo-Befehl auszuführen:

<?php $test = 3; if ($test > 0) echo $test; echo '+++'; ?>

Ohne geschweifte Klammern befindet sich jedoch nur die erste Ausgabe innerhalb der Bedingung, das heißt, die erste Ausgabe wird bei erfüllter Bedingung ausgeführt, und die zweite - immer.

Tatsächlich ist unser Code äquivalent zu diesem:

<?php $test = 3; if ($test > 0) { echo $test; } echo '+++'; // diese Zeile befindet sich außerhalb der Bedingung ?>

Wir hätten aber diesen Code gewollt:

<?php $test = 3; if ($test > 0) { echo $test; echo '+++'; // diese Zeile ist innerhalb der Bedingung } ?>

Genau aus diesem Grund wird empfohlen, immer geschweifte Klammern zu setzen, um nicht in derartige Fehler zu geraten.

Bestimmen Sie, ohne den Code auszuführen, was auf dem Bildschirm ausgegeben wird:

<?php $num = 5; if ($num === 5) echo $num; echo '+++'; ?>

Bestimmen Sie, ohne den Code auszuführen, was auf dem Bildschirm ausgegeben wird:

<?php $num = 0; if ($num === 5) echo $num; echo '+++'; ?>

Bestimmen Sie, ohne den Code auszuführen, was auf dem Bildschirm ausgegeben wird:

<?php $num = 0; if ($num === 5) echo $num; echo '---'; echo '+++'; ?>
hyendarobn