Wieder 2 Stunden bei der Fehlersuche verplempert…
$string = "X20";
echo (strpos("XYX20", $string) !== false) ? "JA" : "NEIN";
$string = 20;
echo (strpos("XYX20", $string) !== false) ? "JA" : "NEIN";
Output:
JA
NEIN
Erwartet hätte ich 2x “JA”. Leider habe ich nicht in die Doku zu strpos geschaut – hätte mir einiges an Zeit für die Fehlersuche erspart. Es ist aber immer so: Die Funktion strpos habe ich schon 1000 Mal verwendet und den Fehler definitiv nicht dort vermutet.
So geht’s:
$string = 20;
echo (strpos("XYX20", (string)$string) !== false) ? "JA" : "NEIN";
Merke: gerade die viel gelobte/gehasste vermeintlich dynamische Typumwandlung von PHP stellt einem oft ein Bein.