3. PHP 函式學習 strrpos ()

hetaoren發表於2020-01-10

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 協議》,轉載必須註明作者和本文連結

相關文章