strnatcasecmp()

1. 定义

该函数与strnatcmp()相似,但该函数不区分大小写。将字符串以自然顺序(人类对数字型字符串进行排序时惯用的比较的算法)比较两个字符串的大小。 如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0。

2. 语法

strnatcasecmp ( string $str1 , string $str2 ) : int

3. 参数说明

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

4. 示例

<?php

// strnatcasecmp()
// 将字符串以**自然顺序**(人类对**数字型字符串**进行排序时惯用的比较的算法)比较两个字符串的大小

// 常见于文件排序,常规字符串比较时,test11.php 会在 test2.php 的前面
$str1 = 'test11.php';
$str2 = 'test2.php';
$res = strnatcasecmp($str1, $str2);
var_dump($res);// 输出:int(1)

// 不区分大小写
$str1 = 'Test11.php';
$str2 = 'test2.php';
$res = strnatcasecmp($str1, $str2);
var_dump($res);// 输出:int(1)

5. 延展阅读

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