首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

strnatcmp

(PHP 4, PHP 5, PHP 7)

strnatcmp - 使用“自然顺序”算法的字符串比较

描述

代码语言:javascript
复制
int strnatcmp ( string $str1 , string $str2 )

该函数实现了一种比较算法,以人类的方式对字母数字字符串进行排序,这被称为“自然排序”。请注意,此比较区分大小写。

参数

str1

第一个字符串。

str2

第二个字符串。

返回值

与其他字符串比较函数类似,如果str1小于str2,则返回<0; 如果str1大于str2,则为0;如果相等,则为0。

例子

下面是该算法与常规计算机字符串排序算法(在strcmp()中使用)之间区别的示例:

代码语言:javascript
复制
<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Standard string comparison\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nNatural order string comparison\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

上面的例子将输出:

代码语言:javascript
复制
Standard string comparison
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Natural order string comparison
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)

有关更多信息,请参阅:Martin Pool »自然顺序字符串比较页面。

扩展内容

  • preg_match() - 执行正则表达式匹配
  • strcasecmp() - 二进制安全的不区分大小写的字符串比较
  • substr() - 返回字符串的一部分
  • stristr() - 不区分大小写的strstr
  • strcmp() - 二进制安全字符串比较
  • strncmp() - 前n个字符的二进制安全字符串比较
  • strncasecmp() - 对前n个字符进行二进制安全区分大小写的字符串比较
  • strnatcasecmp() - 使用“自然顺序”算法进行不区分大小写的字符串比较
  • strstr() - 查找第一次出现的字符串
  • natsort() - 使用“自然顺序”算法对数组进行排序
  • natcasesort() - 使用不区分大小写的“自然顺序”算法对数组进行排序

← strnatcasecmp

strncasecmp →

扫码关注腾讯云开发者

领取腾讯云代金券