查詢

substr_compare()函式—用法及示例

「 比較兩個字串的一部分內容,並返回它們之間的差異 」


函式名稱:substr_compare()

適用版本:PHP 5, PHP 7

函式描述:substr_compare()函式用於比較兩個字串的一部分內容,並返回它們之間的差異。它是區分大小寫的比較函式。

語法:int substr_compare(string $main_str, string $str, int $offset, int $length [, bool $case_insensitivity = false])

引數:

  • $main_str:需要進行比較的主字串。
  • $str:需要進行比較的字串。
  • $offset:比較開始的位置,可以是正數或負數。如果是正數,表示從主字串的第 $offset 個字元開始比較;如果是負數,表示從主字串的倒數第 $offset 個字元開始比較。
  • $length:比較的長度,如果為0,則比較到主字串或字串的最後一個字元結束。
  • $case_insensitivity(可選):是否進行大小寫不敏感的比較,預設為false,即進行大小寫敏感的比較。

返回值:如果主字串在指定位置開始的子字串與比較字串相等,則返回0;如果主字串小於比較字串,則返回一個負數;如果主字串大於比較字串,則返回一個正數。

示例:

$main_str = "Hello World";
$str = "Hello";
$offset = 0;
$length = 5;

$result = substr_compare($main_str, $str, $offset, $length);
if ($result === 0) {
    echo "主字串與比較字串相等";
} elseif ($result < 0) {
    echo "主字串小於比較字串";
} else {
    echo "主字串大於比較字串";
}
// 輸出:主字串與比較字串相等
$main_str = "Hello World";
$str = "world";
$offset = -5;
$length = 5;

$result = substr_compare($main_str, $str, $offset, $length, true);
if ($result === 0) {
    echo "主字串與比較字串相等";
} elseif ($result < 0) {
    echo "主字串小於比較字串";
} else {
    echo "主字串大於比較字串";
}
// 輸出:主字串大於比較字串

注意事項:

  • 比較時,如果主字串的長度小於 $offset + $length,則會自動調整為可用的長度進行比較。
  • 如果指定的 $offset 或 $length 為負數,且其絕對值大於主字串的長度,則會返回false。
  • 如果設定 $case_insensitivity 為true,則進行大小寫不敏感的比較。
  • 在PHP 7中,如果主字串和比較字串都不是字串型別,會丟擲一個E_WARNING錯誤,返回false。在PHP 5中,會將非字串型別的引數轉換為字串進行比較。
補充糾錯
上一個函式: substr_count()函式
下一個函式: str_word_count()函式
熱門PHP函式
分享連結