O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required