PHP strpos() 函数返回错误结果[重复]

问题描述 投票:0回答:1

我只是想看看一串汽车年份和型号中是否包含数字年份。 我认为下面的代码应该将 $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
php types strpos
1个回答
2
投票

您无法使用此函数在字符串中搜索 INT,您可以在搜索之前将 int 转换为字符串,如下所示:

$my_haystack = "2007 Cadillac CTS";
$my_needle = 1900;
$my_str = strpos($my_haystack, strval($my_needle));
© www.soinside.com 2019 - 2024. All rights reserved.