strnatcmp
使用“自然順序”算法進行字符串比較
strnatcmp()
函數使用一種"自然"算法來比較兩個字符串。
在自然算法中,數字2 小於數字10。在計算機排序中,10 小於2,這是因為10 中的第一個數字小於2。
註釋:該函數對大小寫敏感。
使用"自然"算法來比較兩個字符串(區分大小寫):
<?php echo strnatcmp ( "2Hello world!" , "10Hello world!" ) ; echo "<br>" ; echo strnatcmp ( "10Hello world!" , "2Hello world!" ) ; ?>
親自試一試
自然算法(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 ) ; ?>
親自試一試
strnatcmp ( string1 , string2 )
參數 | 描述 |
---|---|
string1 | 必需。規定要比較的第一個字符串。 |
string2 | 必需。規定要比較的第二個字符串。 |