3. PHP 函数 strrpos ()

strrpos

(PHP4, PHP5, PHP7)

strrpos — 计算指定字符串在目标字符串中最后一次出现的位置

说明

strrpos ( string $haystack, string $needle [, int $offset = 0 ] ) : int

返回字符串haystackneedle最后一次出现的数字位置。注意PHP4中,needle只能为单个字符。如果needle被指定为一个字符串,那么将仅使用第一个字符。

参数

  • haystack:在此字符串中进行查找
  • needle:如果needle不是一个字符串,他将被转换为整形并被视为字符的顺序值。
  • offset:或许会查找字符串中任意长度的子字符串。负数值将导致查找在字符串结尾处开始的计数位置处 结束

返回值

返回needle存在的位置。如果没有找到,返回 FALSE。同时注意字符串位置是从0开始,而不是从1开始的。

如果没有找到needle,将返回 FALSE

Warning:此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。应使用===运算符来测试此函数的返回值。

更新日志

版本 说明
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() - 返回字符串的子串
本作品采用《CC 协议》,转载必须注明作者和本文链接
hetaoren
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!