Php/docs/function.substr-compare

来自菜鸟教程
跳转至:导航、​搜索

substr_compare

(PHP 5, PHP 7)

substr_compare二进制安全比较字符串(从偏移位置比较指定长度)


说明

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

substr_compare() 从偏移位置 offset 开始比较 main_strstr,比较长度为 length 个字符。


参数

main_str
待比较的第一个字符串。
str
待比较的第二个字符串。
offset
比较开始的位置。如果为负数,则从字符串结尾处开始算起。
length
比较的长度。默认值为 str 的长度与 main_str 的长度减去位置偏移量 offset 后二者中的较大者。
case_insensitivity
如果 case_insensitivitytrue,比较将不区分大小写。


返回值

如果 main_str 从偏移位置 offset 起的子字符串小于 str,则返回小于 0 的数;如果大于 str,则返回大于 0 的数;如果二者相等,则返回 0。如果 offset 大于等于 main_str 的长度或 length 被设置为小于 1 的值( PHP 5.5.11 之前的版本),substr_compare() 将打印出一条警告信息并且返回 false


更新日志

版本 说明
7.2.18, 7.3.5 offset 现在可能等于 main_str


范例

Example #1 substr_compare() 范例

<?phpecho substr_compare("abcde", "bc", 1, 2); // 0echo substr_compare("abcde", "de", -2, 2); // 0echo substr_compare("abcde", "bcg", 1, 2); // 0echo substr_compare("abcde", "BC", 1, 2, true); // 0echo substr_compare("abcde", "bc", 1, 3); // 1echo substr_compare("abcde", "cd", 1, 2); // -1echo substr_compare("abcde", "abc", 5, 1); // warning?>

参见

  • strncmp() - 二进制安全比较字符串开头的若干个字符