misterunknown: if($Key == $Value)

Beitrag lesen

Moin,

Das ist mein sehr simpler Code. Funktioniert auch, bis auf dass er manchmal falsche Beispiele findet.
Wenn ich ein Array reinschmeisse, dass mit foreach() durchgegangen wird und gelegentlich als Key "test" hat, soll er mir alle test-Keys samt zugehörigen Werten in FilteredData zusammenschreiben. Tut er auch, nur dass er manchmal wenn der Key 0 vorkommt diese auch dazuschreibt. Wieso? 0 heisst ja auch false. Aber false == 'test' ? Das kann nicht wirklich sein. Woran liegt sowas?

Dadurch, dass du nicht auf Typengleichheit prüfst, und PHP versucht, andere Datentypen entsprechend zu parsen, kann dieser Fehler auftreten. Sicherer (und richtiger) ist es daher auch auf Typengleichheit zu prüfen:

if($Key === $Filter) {

Grüße Marco