PHP strpos() 函数返回不正确的结果


PHP strpos() function returning incorrect result

我只是想看看一串汽车年份和型号中是否包含一个数字年份。 我认为以下代码应该将 $my_str 显示为 FALSE。 但它返回 9。 如何? 9 位置是小写的"l"。 对我来说毫无意义,除非我的针是数字的事实把事情搞砸了。 但稍后我将创建一个循环,并且真的希望$my_needle是数字。

$my_haystack = "2007 Cadillac CTS";
$my_needle = 1900;
$my_str = strpos($my_haystack, $my_needle);
echo "my_str=$my_str"; //Returns my_str=9
你不能

使用这个函数在字符串中搜索 INT,你可以在搜索之前将 int 转换为字符串,如下所示:

$my_haystack = "2007 Cadillac CTS";
$my_needle = 1900;
$my_str = strpos($my_haystack, strval($my_needle));