• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mb_strrpos()

    (PHP 4 >= 4.0.6, PHP 5, PHP 7)

    查找字符串在一个字符串中最后出现的位置

    说明

    mb_strrpos(string $haystack,string $needle[,int $offset= 0[,string $encoding= mb_internal_encoding()]]): int

    基于字符数执行一个多字节安全的strrpos()操作。$needle的位置是从$haystack的开始进行统计的。第一个字符的位置是 0,第二个字符的位置是 1。

    参数

    $haystack

    查找$needle在这个string中最后出现的位置。

    $needle

    $haystack中查找这个string。

    $offset
    可以用于指定string里从任意字符数开始进行搜索。负数的值将导致搜索会终止于指向string末尾的任意点。
    $encoding

    $encoding参数为字符编码。如果省略,则使用内部字符编码。

    返回值

    返回string的$haystack中,$needle最后出现位置的数值。如果没有找到$needle,它将返回FALSE

    更新日志

    版本说明
    5.2.0增加了可选参数$offset

    注释

    Note:从 PHP 5.2.0 开始,$encoding参数从第三个位置移到了第四个位置。为实现向后兼容,可以将第三个参数指定为$encoding,但不建议这么做,在将来会移除这个特性。

    参见

    mb_strrpos throws a warning if $haystack is empty. 
    strrpos simply returns FALSE.
    This is something to be wary of if overloading the mb functions.
    "Negative values will stop searching at an arbitrary point prior to the end of the string. " ist misleading.
    The needle may not fully part of searchrange, defined by a negative offset. 
    A negative offsets marks the last byte, where a search could start.
    <?php
    $test = "Hallo, Herr Gött";
    var_dump(strlen($test));            // int(17)
    var_dump(mb_strrpos($test,'ött',13)); // int(13)
    var_dump(mb_strrpos($test,'ött',-4)); // int(13) 17-4 = 13
    var_dump(mb_strrpos($test,'ött',-5)); // bool(false)
    ?>
    

    上篇:mb_strripos()

    下篇:mb_strstr()