PHP: Drei Gleichheitszeichen für mehr Sicherheit
Vergleiche in PHP erledigen Sie in der Regel mit zwei hintereinander gestellten Gleichheitszeichen, also
if ($intWert == 0)
Doch PHP ist nicht typensicher. Was, wenn Sie zum Beispiel
if ($bFlag == true)
einsetzen? Dann trifft die Bedingung zu, falls $bFlag true ist oder falls der Wert der Variablen 1 ist. Letzteres kann zu unerwünschten Problemen und schier endloser Fehlersuche führen. Oder probieren Sie es einmal damit:
if ("Hallo Welt" == 0)
Die Bedingung trifft zu, weil die beiden =-Zeichen den String "Hallo Welt" in einen Integer konvertieren. Und der hat den Wert 0. Das gleiche passiert natürlich auch, wenn eine Variable einen String enthält und mit 0 verglichen wird.
Um solche Fehlerquellen auszuschließen, sollten Sie an kritischen Punkten drei statt zwei Gleichheitszeichen verwenden. Dann nämlich werden nicht nur Werte, sondern auch Typen verglichen. Mit === trifft
if ($bFlag === true)
auch wirklich nur dann zu, wenn der Wert true ist.
Bedingungen für die Kommentareingabe
Hinweis