strncasecmp()

1. 定义

该函数类似于strncmp()函数,比较两个字符串中若干个字符开头是否相同。 如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0。

注:该函数不区分大小写。(strncmp()函数区分大小写)

2. 语法

strncasecmp ( string $str1 , string $str2 , int $len ) : int

3. 参数说明

参数 可选性 数据类型 描述
$str1 必需 字符串 待比较的第一个字符串
$str2 必需 字符串 待比较的第二个字符串
$len 必需 整型 最大比较长度

4. 示例

<?php

// strncasecmp()
// 比较两个字符串中若干个字符开头是否相同。如果前者大于后者则返回大于0的数,后者大于前者则返回小于0的数,相等则返回0

$str1 = 'hello';
$str2 = 'php';
$length = 10;
$res = strncmp($str1, $str2, $length);
var_dump($res);// 输出:int(-1)

$str1 = 'hello';
$str2 = 'Hello,php';
$length = 5;
$res = strncmp($str1, $str2, $length);
var_dump($res);// 输出:int(1)

5. 延展阅读

  • strncmp():比较二进制字符串的大小。但该函数可以指定比较的长度
  • substr_compare():从偏移位置比较指定长度的子字符串是否相同
  • strcasecmp():比较两个二进制安全字符串,如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0(不区分大小写)
  • stristr():返回特定索引或特定子字符串首次出现的位置到字符串结尾的部分(不区分大小写)
  • substr():返回从某位置开始、特定长度的子字符串