如果 $haystack 为空,则 mb_strrpos 会抛出警告。
strrpos 只是返回 FALSE。
如果重载 mb 函数,则需要注意这一点。
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_strrpos — 查找字符串中最后一次出现的字符串的位置
基于字符数执行多字节安全的 strrpos() 操作。 needle
的位置从 haystack
的开头算起。第一个字符的位置是 0。第二个字符的位置是 1。
版本 | 描述 |
---|---|
8.0.0 |
needle 现在接受空字符串。 |
8.0.0 | 已删除将 encoding 作为第三个参数而不是偏移量传递的功能。 |
8.0.0 |
encoding 现在可以为 null。 |
“负值将在字符串结束之前任意点停止搜索。” 具有误导性。
needle 可能不是由负偏移量定义的搜索范围的完整部分。
负偏移量标记搜索可以开始的最后一个字节。
<?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)
?>