Original geschrieben von PHPler Im übrigen gibt
echo ( "string!!!" == 0 ? 'type casting' : 'wie erwartet' );
das selbe aus wie
echo ( 0 == 0 ? 'type casting' : 'wie erwartet' );
bzw.
echo ( "string!!!" == "string!!!" ? 'type casting' : 'wie erwartet' );
von daher k.a. was mir das jetzt sagen soll.
Das soll dir vielleicht sagen, dass du dich zum Thema automatisches Casting mal informieren könntest.
Wenn beim Vergleich zwischen "string" und 0 wahr herauskommt, dann könnte man ja annehmen, dass da zu der Tatsache, dass auch "@" beim Vergleich mit 0 als "gefunden" angesehen wird, ein Zusammenhang besteht ...
I don't believe in rebirth. Actually, I never did in my whole lives.
Original geschrieben von penizillin
dass php dein "@" implizit in die 0 konvertiert, um es mit einem integer zu vergleichen. und 0 ist in range (0,9) enthalten.
AUA!!! Na da muß man erstmal drauf kommen. Dachte immer dass ein Element eines Arrays ein Element ist und der Typ dessen dabei egal ist. Aber da ich ja nun der Funktion unterschiedliche Typen übergebe, werde ich wohl auf die array_intersect Methode zurückgreifen...
Das ding ist ja noch, hier habe ich ja nur einzelne Zeichen zum Überprüfen übergeben. Im Script sind das ganze Strings, die Zeichen für Zeichen überprüft werden. Da kommt in_array wieder nicht weiter mit, während die array_intersect Methode da wunderbar funktioniert.
Kommentar