5.1 Die Verwechslung von == und = vermeiden
Problem
Sie möchten beim Vergleich (Vergleichsoperator: ==
) von Variablen mit Konstanten nicht versehentlich Werte zuweisen (Zuweisungsoperator: =
).
Lösung
Schreiben Sie:
if (12 == $zwerge) { /* ... */ }
anstelle von:
if ($zwerge == 12) { /* ... */ }
Die Konstante auf der linken Seite löst einen Parser-Fehler aus, wenn sie mit dem Zuweisungsoperator verwendet wird. Mit anderen Worten: PHP beschwert sich, wenn Sie schreiben:
if (12 = $zwerge) { /* ... */ }
führt aber:
if ($zwerge = 12) { /* ... */ }
stillschweigend aus; dabei wird der Variablen $zwerge
der Wert 12
zugewiesen und anschließend der Code im Block ausgeführt ($zwerge = 12
ergibt 12
, und das ist true
.)
Diskussion
Wenn Sie die Konstante auf der linken Seite ...
Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.