strrpos
(PHP4, PHP5, PHP7)
strrpos — 計算指定字串在目標字串中最後一次出現的位置
說明
strrpos ( string $haystack, string $needle [, int $offset = 0 ] ) : int
返回字串haystack
中needle
最後一次出現的數字位置。注意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 協議》,轉載必須註明作者和本文連結