字符串函数

PHP strnatcmp() 函数

主题:PHP 字符串参考上一页|下一页

说明

strnatcmp() 函数使用"自然顺序"算法比较两个字符串。

此函数区分大小写。 对于不区分大小写的比较,请使用 strnatcasecmp() 函数。

下表总结了该函数的技术细节。

返回值: 如果 string1 小于 string2,则返回负值 (< 0); 如果 string1 大于 string2, 和 0 如果两个字符串相等,则为正值 (> 0)。
版本: PHP 4+

语法

strnatcmp() 函数的基本语法如下:

strnatcmp(string1, string2);

下面的例子展示了 strnatcmp() 函数的作用。

<?php
// 示例字符串
$str1 = "x2";
$str2 = "x11";

// 执行比较
echo strnatcmp($str1, $str2)."<br>";
echo strnatcmp($str2, $str1);
?>

提示: strnatcmp() 函数实现了一种比较算法,该算法以人类的方式对字母数字字符串进行排序。 这被描述为"自然排序"。 例如,在字母排序中,"x11"将排在"x2"之前,因为"1"小于"2",但在自然排序中,"x2"排在"x11"之前,因为"2"小于"11" .


参数

strnatcmp() 函数接受以下参数。

参数 说明
string1 必填。 指定要比较的第一个字符串。
string2 必填。 指定要比较的第二个字符串。

更多示例

这里有更多示例显示 strnatcmp() 函数的实际工作原理:

下面的例子演示了自然顺序算法和使用这个函数作为比较函数的常规计算机字符串排序算法的区别。

<?php
// 样本数组
$images = array("img10.png", "img12.png", "img2.png", "img1.png");

// 使用标准字符串比较对数组进行排序
usort($images, "strcmp");
print_r($images);

// 使用自然顺序字符串比较对数组进行排序
usort($images, "strnatcmp");
print_r($images);
?>
Advertisements