PHP Conference Japan 2024

strnatcasecmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strnatcasecmp使用“自然顺序”算法进行不区分大小写的字符串比较

描述

strnatcasecmp(字符串 $string1, 字符串 $string2): 整数

此函数实现了一种比较算法,该算法以人类的方式对字母数字字符串进行排序。此函数的行为类似于 strnatcmp(),只是比较不区分大小写。有关更多信息,请参见:Martin Pool 的 » 自然顺序字符串比较 页面。

参数

string1

第一个字符串。

string2

第二个字符串。

返回值

与其他字符串比较函数类似,此函数返回 -1 如果 string1 小于 string2 1 如果 string1 大于 string2,如果它们相等则返回 0

变更日志

版本 描述
8.2.0 此函数现在返回 -11,而以前返回负数或正数。

示例

示例 #1 strnatcasecmp() 示例

<?php

var_dump
(strnatcasecmp('Apple', 'Banana'));
var_dump(strnatcasecmp('Banana', 'Apple'));
var_dump(strnatcasecmp('apple', 'Apple'));
?>

以上示例将输出

int(-1)
int(1)
int(0)

参见

  • preg_match() - 执行正则表达式匹配
  • strcmp() - 二进制安全字符串比较
  • strcasecmp() - 二进制安全不区分大小写的字符串比较
  • substr() - 返回字符串的一部分
  • stristr() - 不区分大小写的 strstr
  • strncasecmp() - 前 n 个字符的二进制安全不区分大小写的字符串比较
  • strncmp() - 前 n 个字符的二进制安全字符串比较
  • strstr() - 查找字符串的第一次出现
  • setlocale() - 设置区域设置信息

添加注释

用户贡献的注释 2 条注释

chatfielddaniel at googlemail dot com
13 年前
该函数将“_”视为字母和数字之后,而从逻辑上讲它应该放在之前。
Marco
8 年前
使用 strnatcmp 避免下面提到的 _ 问题;

<< 该函数将“_”视为字母和数字之后,而从逻辑上讲它应该放在之前。 >>
To Top