(PHP 4, PHP 5)
strrpos — 計算指定字符串在目標字符串中最后一次出現的位置
說明
int strrpos ( string$haystack
, string $needle
[, int $offset
= 0
] )
返回字符串 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.
此函數可能返回布爾值
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() - 返回字符串的子串