strrpos
strrpos
(PHP 4, PHP 5, PHP 7)
strrpos - 在字符串中查找最后一次出现的子字符串的位置
描述
int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )
查找haystack串中最后一次出现针的数字位置。
参数
haystack
要搜索的字符串。
needle
如果needle
不是字符串,它将转换为整数并作为字符的序数值应用。
offset
如果指定,搜索将开始从字符串开始计算的这个字符数。如果该值为负数,搜索将从字符串末尾的多个字符开始,向后搜索。
返回值
返回针相对于haystack
字符串开头的位置(与搜索方向或偏移量无关)。另请注意,字符串位置从0开始,而不是1。
如果找不到针,则返回FALSE
。
警告
该函数可能返回布尔值FALSE
,但也可能返回一个非布尔值,其值为FALSE
。有关更多信息,请阅读布尔部分。使用===运算符来测试此函数的返回值。
更新日志
版 | 描述 |
---|---|
5.0.0 | needle现在可以是一串以上的字符。 |
例子
示例#1 检查needle是否在haystack中
很容易将“在位置0找到的字符”和“未找到字符”的返回值误认为是错误的。以下是如何检测差异的方法:
<?php
$pos = strrpos($mystring, "b"
if ($pos === false) { // note: three equal signs
// not found...
}
?>
例#2 用偏移量搜索
<?php
$foo = "0123456789a123456789b123456789c";
var_dump(strrpos($foo, '7', -5) // Starts looking backwards five positions
// from the end. Result: int(17)
var_dump(strrpos($foo, '7', 20) // Starts searching 20 positions into the
// string. Result: int(27)
var_dump(strrpos($foo, '7', 28) // Result: bool(false)
?>
扩展内容
- strpos() - 查找字符串中第一次出现子字符串的位置
- stripos() - 在字符串中查找第一次出现不区分大小写的子字符串的位置
- strripos() - 查找字符串中不区分大小写的子字符串的最后一次出现的位置
- strrchr() - 查找字符串中最后一次出现的字符
- substr() - 返回字符串的一部分
← strripos
strspn →