mb_stristr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_stristr在另一个字符串中查找第一个出现的字符串,不区分大小写

说明

mb_stristr(
    字符串 $haystack,
    字符串 $needle,
    布尔值 $before_needle = false,
    ?字符串 $encoding = null
): 字符串|false

mb_stristr()haystack 中查找 needle 的第一次出现,并返回 haystack 的一部分。与 mb_strstr() 不同,mb_stristr() 不区分大小写。如果找不到 needle,则返回 false

参数

haystack

要从中获取 needle 的第一次出现的字符串

needle

要在 haystack 中查找的字符串

before_needle

确定此函数返回 haystack 的哪一部分。如果设置为 true,则返回从开头到 needle 第一次出现(不包括 needle)的所有 haystack。如果设置为 false,则返回从 needle 的第一次出现到结尾(包括 needle)的所有 haystack

encoding

要使用的字符编码名称。如果省略,则使用内部字符编码。

返回值

返回 haystack 的一部分,或者如果找不到 needle,则返回 false

变更日志

版本 说明
8.0.0 needle 现在接受空字符串。
8.0.0 encoding 现在可以为空。

参见

  • stristr() - 不区分大小写的 strstr
  • strstr() - 查找字符串的第一次出现
  • mb_strstr() - 在另一个字符串中查找第一个出现的字符串

添加注释

用户贡献注释 1 个注释

0
nowfel dot terki at mailfence dot com
2 年前
请注意,如果 needle 是一个空字符串,mb_stristr 默认返回 haystack。

例如

<?php
if (mb_stristr("foo", "")) {
echo
"我们进入条件";
}
?>

因为在上面的例子中,mb_stristr 的返回值是“foo”。

所以如果我们不想这种行为,必须将第三个参数($before_needle)设置为 true。

<?php
if (mb_stristr("foo", "", true)) {
echo
"我们不进入条件";
}
?>

知道这一点很有用,特别是当 needle 是动态的时。
To Top