查詢

strpos()函式—用法及示例

「 在一個字串中查詢另一個字串第一次出現的位置 」


函式名:strpos()

適用版本:所有PHP版本

用法:strpos()函式用於在一個字串中查詢另一個字串第一次出現的位置。它返回第一次匹配的位置索引,如果未找到匹配項,則返回false。

語法:int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

引數:

  • haystack:要在其中查詢的字串。
  • needle:要查詢的字串。
  • offset(可選):指定開始查詢的位置,預設為0。

返回值:返回匹配項的位置索引,如果未找到匹配項,則返回false。

示例:

// 示例1:查詢字串中的子字串
$haystack = "Hello, world!";
$needle = "world";
$position = strpos($haystack, $needle);
if ($position !== false) {
    echo "找到了'$needle',位置是 $position";
} else {
    echo "未找到'$needle'";
}
// 輸出:找到了'world',位置是 7

// 示例2:指定開始查詢的位置
$haystack = "Hello, world!";
$needle = "o";
$position = strpos($haystack, $needle, 5);
if ($position !== false) {
    echo "找到了'$needle',位置是 $position";
} else {
    echo "未找到'$needle'";
}
// 輸出:找到了'o',位置是 8

// 示例3:未找到匹配項
$haystack = "Hello, world!";
$needle = "foo";
$position = strpos($haystack, $needle);
if ($position !== false) {
    echo "找到了'$needle',位置是 $position";
} else {
    echo "未找到'$needle'";
}
// 輸出:未找到'foo'

注意事項:

  • 如果要檢查一個字串是否包含另一個字串,應使用恆等運算子(===)來判斷返回值是否為false,因為匹配位置可能是0,0在PHP中被視為false。
  • 如果needle是一個空字串,strpos()將返回0,因此要使用恆等運算子(===)來判斷返回值是否為false。
補充糾錯
上一個函式: strripos()函式
下一個函式: strpbrk()函式
熱門PHP函式
分享連結