PHP: strpos mit Integern

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.

This entry was posted in Programmierung and tagged , . Bookmark the permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">