如果 $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 现在可以为空。 |
"负值将在字符串结束之前停止搜索。" 具有误导性。
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)
?>