PHP strnatcmp() 函數

實例

使用"自然"算法來比較兩個字符串(區分大小寫):

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

運行實例

定義和用法

strnatcmp() 函數使用一種"自然"算法來比較兩個字符串。

在自然算法中,數字 2 小于數字 10。在計算機排序中,10 小于 2,這是因為 10 中的第一個數字小于 2。

注釋:該函數對大小寫敏感。

語法

strnatcmp(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 "標準字符串比較"."<br>";
usort($arr1,"strcmp");
print_r($arr1);
echo "<br>";
echo "自然順序字符串比較"."<br>";
usort($arr2,"strnatcmp");
print_r($arr2);
?>

運行實例