Php/docs/function.strrpos
strrpos
(PHP 4, PHP 5, PHP 7)
strrpos — 计算指定字符串在目标字符串中最后一次出现的位置
说明
strrpos
( string $haystack
, string $needle
[, int $offset
= 0
] ) : int
返回字符串 haystack
中 needle
最后一次出现的数字位置。注意 PHP4 中,needle 只能为单个字符。如果 needle 被指定为一个字符串,那么将仅使用第一个字符。
参数
haystack
- 在此字符串中进行查找。
needle
- 如果
needle
不是一个字符串,它将被转换为整型并被视为字符的顺序值。 offset
- 或许会查找字符串中任意长度的子字符串。负数值将导致查找在字符串结尾处开始的计数位置处结束。
返回值
返回 needle 存在的位置。如果没有找到,返回 false
。
Also note that string positions start at 0, and not 1.
Returns false
if the needle was not found.
更新日志
版本 | 说明 |
---|---|
5.0.0 | 参数 needle 可以是一个多字符的字符串。
|
5.0.0 | 引入 offset 参数。
|
范例
Example #1 检查字串是否存在
很容易将“在位置 0 处找到”和“未发现字符串”这两种情况搞错。这是检测区别的办法:
<?php$pos = strrpos($mystring, "b");if ($pos === false) { // 注意: 三个等号 // 未发现...}?>
Example #2 使用偏移位置进行查找
<?php$foo = "0123456789a123456789b123456789c";var_dump(strrpos($foo, '7', -5)); // 从尾部第 5 个位置开始查找 // 结果: int(17)var_dump(strrpos($foo, '7', 20)); // 从第 20 个位置开始查找 // 结果: int(27)var_dump(strrpos($foo, '7', 28)); // 结果: bool(false)?>
参见
- strpos() - 查找字符串首次出现的位置
- stripos() - 查找字符串首次出现的位置(不区分大小写)
- strripos() - 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)
- strrchr() - 查找指定字符在字符串中的最后一次出现
- substr() - 返回字符串的子串