strncmp()

1. 定义

该函数与strcmp()函数类似,都是比较二进制字符串的大小。但该函数可以指定比较的长度。 如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0。

注:该函数区分大小写。

2. 语法

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

3. 参数说明

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

4. 示例

<?php

// strncmp()
// 比较二进制字符串的大小。但该函数可以指定比较的长度

$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(0)

5. 延展阅读

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