PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)

本文实例讲述了PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法。分享给大家供大家参考,具体如下:

PHP中strnatcmp()函数使用"自然"算法来比较两个字符串(区分大小写),通常在自然算法中,数字 2 小于数字 10。而在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。

strnatcmp()函数的定义如下:

strnatcmp(string1,string2)

参数说明:

string1 必需。规定要比较的第一个字符串。

string2 必需。规定要比较的第二个字符串。

返回值说明:

如果两个字符串相等,则返回值为 0

如果 string1 小于 string2,则返回值小于0

如果 string1 大于 string2,则返回值大于0

示例代码如下:

  1. <?php
  2. $str1="2.jpg";
  3. $str2="10.jpg";
  4. $str3="phpfensi.net_1";
  5. $str4="PHPFENSI.COM_2";
  6. echo strcmp($str1,$str2);//按字节进行比较,返回1
  7. echo "<br/>";
  8. echo strcmp($str3,$str4);//按字节进行比较,返1
  9. echo "<br/>";
  10. echo strnatcmp($str1,$str2);//按"自然排序"法进行比较,返回-1
  11. echo "<br/>";
  12. echo strnatcmp($str3,$str4);//按"自然排序"法进行比较,返回1
  13. ?>

运行结果如下:

1

1

-1

1