函式名稱:mb_strpos()
適用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8
函式描述:mb_strpos() 函式用於在一個字串中查詢另一個子字串的首次出現位置。與 strpos() 函式類似,但是 mb_strpos() 函式可以處理多位元組字元。
語法:mb_strpos(string $haystack, string $needle, int $offset = 0, string $encoding = null): int|false
引數:
- $haystack:必需,要在其中查詢子字串的字串。
- $needle:必需,要查詢的子字串。
- $offset:可選,指定開始搜尋的位置,預設為 0。
- $encoding:可選,指定字元編碼,預設為內部字元編碼。
返回值:
- 如果找到子字串,則返回其首次出現的位置(以整數形式)。
- 如果未找到子字串,則返回 false。
示例:
// 示例1:在一個字串中查詢子字串的位置
$str = "Hello, World!";
$pos = mb_strpos($str, "World");
echo $pos; // 輸出:7
// 示例2:在一個字串中查詢子字串的位置,指定開始搜尋的位置
$str = "Hello, World!";
$pos = mb_strpos($str, "o", 5);
echo $pos; // 輸出:8
// 示例3:在一個多位元組字串中查詢子字串的位置,指定字元編碼
$str = "你好,世界!";
$pos = mb_strpos($str, "世界", 0, "UTF-8");
echo $pos; // 輸出:6
// 示例4:未找到子字串的情況下返回 false
$str = "Hello, World!";
$pos = mb_strpos($str, "abc");
var_dump($pos); // 輸出:bool(false)
注意事項:
- mb_strpos() 函式對於多位元組字元非常有用,特別是在使用 UTF-8 編碼的情況下。
- 如果未指定字元編碼,則預設使用內部字元編碼。