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.