函数定义
语法
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。因此,使用===操作符来测试此函数的返回值是必要的。此函数是二进制安全的。