hi Felix,
Liebe Mitlesende,
Heute bin ich in PHP wieder über den Vergleichsoperator gestolpert:
$key = 0;
if ($key != 'new') {
// kommt nicht an
}
>
> Natürlich war die Lösung wieder der typsichere Vergleichsoperator mit dem extra Istgleichzeichen:
>
> ~~~php
$key = 0;
> if ($key !== '*new*') {
> // kommt jetzt an
> }
Warum ist denn eine Ganzzahl null einem Stringwert gleichzusetzen? Wird jetzt zuerst der String in eine Zahl umgewandelt (im Sinne von
abs('*new*')
?), oder wird irgendwie anders umgewandelt, um die beiden Werte zu vergleichen?
Es macht m.E. keinen Sinn, typenlos zu vergleichen: http://forum.de.selfhtml.org/archiv/2013/10/t215185/#m1473919.
Es ist und bleibt, wie man hier auch sieht, immer fehleranfällig. Und man muss die ganze Typecastabelle auswendig und richtig können ...;
mfg
tami