如果 $haystack 為空,mb_strrpos 會拋出警告。
strrpos 只會回傳 FALSE。
如果要覆載 mb 函式,需要注意這一點。
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_strrpos — 尋找字串在另一個字串中最後一次出現的位置
根據字元數執行多位元組安全的 strrpos() 操作。 needle
的位置是從 haystack
的開頭算起。第一個字元的位置是 0。第二個字元的位置是 1。
版本 | 說明 |
---|---|
8.0.0 |
needle 現在接受空字串。 |
8.0.0 | 已移除將 encoding 作為第三個參數而不是偏移量傳遞的用法。 |
8.0.0 |
encoding 現在可以為 null。 |
「負值將在字串結尾之前的任意點停止搜尋。」這句話有誤導性。
搜尋目標字串 (needle) 可能不完全在由負偏移量定義的搜尋範圍內。
負偏移量標記搜尋可以開始的最後一個位元組。
<?php
$test = "Hallo, Herr Gött";
var_dump(strlen($test)); // int(17)
var_dump(mb_strrpos($test,'ött',13)); // int(13)
var_dump(mb_strrpos($test,'ött',-4)); // int(13) 17-4 = 13
var_dump(mb_strrpos($test,'ött',-5)); // bool(false)
?>