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

更新日志

版本 说明
5.5.11 length 可以是 0
5.1.0 允许使用负数的 offset 参数。

范例

Example #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() - 二进制安全比较字符串开头的若干个字符

相关文章
php 数组 函数 以指定长度将一个值填充进数组php 文件系统函数 写入文件(可安全用于二进制文件)php hash 函数 可防止时序攻击的字符串比较php 多字节字符串 函数 大小写不敏感地在字符串中查找一个字符串最后出现的位置php 多字节字符串 函数 查找字符串在一个字符串中最后出现的位置php mysql 函数 返回指定字段的长度php 杂项 函数 将数据打包成二进制字符串php 字符串 函数 使用另一个字符串填充字符串为指定长度php 字符串 函数 二进制安全比较字符串(不区分大小写)php 字符串 函数 二进制安全字符串比较php 字符串 函数 基于区域设置的字符串比较php 字符串 函数 二进制安全比较字符串开头的若干个字符(不区分大小写)php 字符串 函数 二进制安全比较字符串开头的若干个字符php 字符串 函数 查找字符串首次出现的位置php 字符串 函数 查找指定字符在字符串中的最后一次出现php 字符串 函数 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)php 字符串 函数 计算指定字符串在目标字符串中最后一次出现的位置php 字符串 函数 计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度。php 字符串 函数 二进制安全比较字符串(从偏移位置比较指定长度)php 字符串 函数 打断字符串为指定数量的字串
关注编程学问公众号