函数名称:mb_strpos()
适用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8
函数描述:mb_strpos() 函数用于在一个字符串中查找另一个子字符串的首次出现位置。与 strpos() 函数类似,但是 mb_strpos() 函数可以处理多字节字符。
语法:mb_strpos(string $haystack, string $needle, int $offset = 0, string $encoding = null): int|false
参数:
- $haystack:必需,要在其中查找子字符串的字符串。
- $needle:必需,要查找的子字符串。
- $offset:可选,指定开始搜索的位置,默认为 0。
- $encoding:可选,指定字符编码,默认为内部字符编码。
返回值:
- 如果找到子字符串,则返回其首次出现的位置(以整数形式)。
- 如果未找到子字符串,则返回 false。
示例:
// 示例1:在一个字符串中查找子字符串的位置
$str = "Hello, World!";
$pos = mb_strpos($str, "World");
echo $pos; // 输出:7
// 示例2:在一个字符串中查找子字符串的位置,指定开始搜索的位置
$str = "Hello, World!";
$pos = mb_strpos($str, "o", 5);
echo $pos; // 输出:8
// 示例3:在一个多字节字符串中查找子字符串的位置,指定字符编码
$str = "你好,世界!";
$pos = mb_strpos($str, "世界", 0, "UTF-8");
echo $pos; // 输出:6
// 示例4:未找到子字符串的情况下返回 false
$str = "Hello, World!";
$pos = mb_strpos($str, "abc");
var_dump($pos); // 输出:bool(false)
注意事项:
- mb_strpos() 函数对于多字节字符非常有用,特别是在使用 UTF-8 编码的情况下。
- 如果未指定字符编码,则默认使用内部字符编码。