PHP – mb_strrichr() 函数

phpserver side programmingprogramming更新于 2025/8/19 12:52:17

PHP 中的 mb_strrichr() 函数用于查找一个字符串中某个字符在另一个字符串中的最后一次出现位置。此函数不像 mb_strrchr() 那样区分大小写。此函数在给定的 haystack 字符串中查找指针的最后一次出现位置,并返回该指针对应的 haystack 部分。如果在 haystack 字符串中未找到指针,则返回 false。

语法

string mb_strrichr(
   $str_haystack,
   $str_needle,
   $bool_before_needle=false,
   $str_encoding
)

参数

mb_strrichr() 接受以下四个参数 −

  • str_haystack − 要从中获取 Needle 最后一次出现的字符串。

  • str_needle − 要在 Haystack 中搜索的字符串。

  • before_needle −它用于决定返回 haystack 的哪个部分。

    • 如果设置为 True,则返回 haystack 字符串中从指针的起始位置到指针的最后一个位置的全部内容。

    • 如果设置为 False,则返回 haystack 字符串中从指针的最后一个位置到末尾的全部内容。

  • str_encoding − 指定要使用的字符编码名称。如果省略 encoding,则使用内部编码。

返回值

此字符串函数返回 haystack 字符串中的指定部分,如果在 haystack 字符串中未找到指针,则返回 False。

示例 1

<?php
    //使用 UTF-8 编码
    //字符串为 Hello World
    //Needle 为 rl
    //before_needle 为 false
    $string = mb_strrichr("HelloWorld","rl",false,"UTF-8");
    
    //输出结果为 string(3) "rld"
    var_dump($string);
?>

输出

string(3) "rld"

示例 2

<?php
    //使用 UTF-8 编码
    //字符串为 Hello World
    //Needle 为 rl
    //before_needle 设置为 true
    $string = mb_strrichr("Hello World","rl",true,"UTF-8");
    
    //输出结果为 string(8) "Hello Wo"
    var_dump($string);
?>

输出

string(8) "Hello Wo"

示例 3

<?php
    // 使用 UTF-8 编码
    // 字符串为 Hello World
    // 使用了 Needle "rl"
    // Needle "ef" 在给定的 haystack 中不匹配,
    // 因此返回 false
    $string = mb_strrichr("Hello World","ef",true,"UTF-8");
    
    // 输出结果为 false
    var_dump($string);
?>

输出

bool(false)

相关文章