substr_compare

(PHP 5, PHP 7, PHP 8)

substr_compare二進(jìn)制安全比較字符串(從偏移位置比較指定長度)

說明

substr_compare(
    string $main_str,
    string $str,
    int $offset,
    int $length = ?,
    bool $case_insensitivity = false
): int

substr_compare() 從偏移位置 offset 開始比較 main_strstr,比較長度為 length 個字符。

參數(shù)

main_str

待比較的第一個字符串。

str

待比較的第二個字符串。

offset

比較開始的位置。如果為負(fù)數(shù),則從字符串結(jié)尾處開始算起。

length

比較的長度。默認(rèn)值為 str 的長度與 main_str 的長度減去位置偏移量 offset 后二者中的較大者。

case_insensitivity

如果 case_insensitivitytrue,比較將不區(qū)分大小寫。

返回值

如果 main_str 從偏移位置 offset 起的子字符串小于 str,則返回小于 0 的數(shù);如果大于 str,則返回大于 0 的數(shù);如果二者相等,則返回 0。如果 offset 大于等于 main_str 的長度或 length 被設(shè)置為小于 1 的值( PHP 5.5.11 之前的版本),substr_compare() 將打印出一條警告信息并且返回 false

更新日志

版本 說明
7.2.18, 7.3.5 offset 現(xiàn)在可能等于 main_str。

范例

示例 #1 substr_compare() 范例

<?php
echo substr_compare("abcde""bc"12); // 0
echo substr_compare("abcde""de", -22); // 0
echo substr_compare("abcde""bcg"12); // 0
echo substr_compare("abcde""BC"12true); // 0
echo substr_compare("abcde""bc"13); // 1
echo substr_compare("abcde""cd"12); // -1
echo substr_compare("abcde""abc"51); // warning
?>

參見

  • strncmp() - 二進(jìn)制安全比較字符串開頭的若干個字符