小码哥的IT人生

首页 > PHP > php基础

PHP strnatcasecmp() 字符串 函数 详解

php基础 2022-06-07 17:03:12小码哥的IT人生shichen

PHP strnatcasecmp() 函数

实例

使用"自然"算法来比较两个字符串(不区分大小写):

<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>

完整实例:

<!DOCTYPE html>
<html>
<body>
<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>
</body>
</html>

 

定义和用法

strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串。

在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。

注释:strnatcasecmp() 对大小写不敏感。

语法

strnatcasecmp(string1,string2)
参数 描述
string1 必需。规定要比较的第一个字符串。
string2 必需。规定要比较的第二个字符串。

技术细节

返回值:

本函数返回:

  • 0 - 如果两个字符串相等
  • <0 - 如果 string1 小于 string2
  • >0 - 如果 string1 大于 string2
PHP 版本: 4+

更多实例

例子 1

自然算法(strnatcmp)和常规计算机字符串排序算法(strcmp)的差异:

<?php
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "Standard string comparison"."<br>";
usort($arr1,"strcmp");
print_r($arr1);
echo "<br>";
echo "Natural order string comparison"."<br>";
usort($arr2,"strnatcmp");
print_r($arr2);
?>

完整实例:

<!DOCTYPE html>
<html>
<body>
<?php
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "标准字符串比较"."<br>";
usort($arr1,"strcmp");
print_r($arr1);
echo "<br>";
echo "自然顺序字符串比较"."<br>";
usort($arr2,"strnatcmp");
print_r($arr2);
?>
</body>
</html>

 

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024