WithCoderWithCoderWithCoder

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

    在PHP中,字符串函数 substr_compare() 用来比较字符串,可以从偏移位置比较指定长度。

    函数语法:

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

    函数参数说明:

参数描述
main_str必需。规定要比较的第一个字符串。
str必需。规定要比较的第二个字符串。
offset必需。规定在 main_str 中的何处开始比较。如果为负数,则从字符串末端开始计数。
length可选。规定在 main_str 中参与比较的字符数。
case_insensitivity可选。一个布尔值,规定是否执行区分大小写的比较:
  • FALSE - 默认。区分大小写

  • TRUE - 不区分大小写

    substr_compare() 函数用来比较字符串,可以从指定的偏移位置来比较指定长度的字符串,此函数是二进制安全的。  

    它的返回值有下面三种情况:

  • < 0:main_str 的子字符串 小于 字符串 str 

  • > 0:main_str 的子字符串 大于 字符串 str 

  • = 0:两者相等,返回 0

  • 如果 offset 大于等于 main_str 的长度或 length 被设置为小于 1 的值( PHP 5.5.11 之前的版本),substr_compare() 将打印出一条警告信息并且返回 FALSE

    举例1,两个字符串相等   

<?php
// 二进制安全比较字符串(区分大小写)
$res = substr_compare('hello world', 'world', 6);

// 输出0
echo $res;

    以上代码输出如下:

0

    举例2main_str 的子字符串 小于 字符串 str   

<?php
// 二进制安全比较子字符串
$res = substr_compare('hello world', 'world', 7);

// 输出-1
echo $res;

    以上代码输出如下:

-1

    举例3main_str 的子字符串 大于 字符串 str    

<?php
// 二进制安全比较子字符串
$res = substr_compare('hello world', 'worl', 6);

// 输出1
echo $res;

    以上代码输出如下:

1

    以上比较,默认是区分大小写的,可以通过最后一个参数case_insensitivity来设置不区分大小写。

欢迎分享交流,转载请注明出处:WithCoder » PHP字符串函数substr_compare(二进制安全比较字符串,从偏移位置比较指定长度)