函数定义
语法
int|false stripos(string $haystack, mixed $needle [, int $offset = 0 ])
参数
haystack
:要搜索的字符串。needle
:要查找的字符串。在 PHP 8.0.0 之前,如果needle
不是字符串,则会将其转换为整数并应用为字符的序数值。从 PHP 7.3.0 开始,此行为已被弃用,并且强烈建议不要依赖它。根据预期行为,needle
应显式转换为字符串,或者应执行对chr()
的显式调用。offset
(可选):如果指定,搜索将从字符串开头算起的字符数开始。如果偏移量为负数,则搜索将从字符串末尾开始计数的字符数开始。
返回值
返回
needle
存在于haystack
字符串开始的位置(与偏移量无关)。字符串位置从 0 开始,而不是从 1 开始。如果未找到
needle
,则返回false
。
版本更新
PHP 8.2.0:大小写转换不再依赖于使用
setlocale()
设置的区域。只会进行 ASCII 大小写转换。非 ASCII 字节将按其字节值进行比较。PHP 8.0.0:
needle
现在接受空字符串。PHP 8.0.0:不再支持将 int 作为
needle
传递。PHP 7.3.0:将 int 作为
needle
传递已被弃用。PHP 7.1.0:添加了对负
offset
的支持。
示例
注意事项
此函数可能返回布尔值
false
,但也可能返回一个非布尔值,该值在布尔上下文中评估为false
。因此,使用===
操作符来测试此函数的返回值是必要的。此函数是二进制安全的。