strnatcasecmp()函數(shù)使用“自然順序”算法比較字符串(不區(qū)分大小寫(xiě))。
strnatcasecmp(string1,string2)
它使用自然算法比較兩個(gè)字符串。該函數(shù)實(shí)現(xiàn)了以人類(lèi)習(xí)慣對(duì)數(shù)字型字符串進(jìn)行排序的比較算法。
在自然算法中,數(shù)字 5 小于數(shù)字 10。在計(jì)算機(jī)排序中,10 小于 5,這是因?yàn)?10 中的第一個(gè)數(shù)字小于 5。
與其他字符串比較函數(shù)類(lèi)似,如果 string1 小于 string2 返回 < 0; 如果 string1 大于 string2 返回 > 0;如果兩者相等,返回 0。
序號(hào) | 參數(shù)和說(shuō)明 |
---|---|
1 | string1 第一個(gè)字符串 |
2 | string2 第二個(gè)字符串 |
試試下面的實(shí)例,strnatcasecmp使用"自然"算法來(lái)比較兩個(gè)字符串(不區(qū)分大小寫(xiě)):
<?php //忽略大小寫(xiě),比較兩個(gè)字符串 echo strnatcasecmp("5nhooo!","5NHOOO!"); echo "<br>"; //第二個(gè)字符串大于第一個(gè)字符串 echo strnatcasecmp("5nhooo!","58NHOOO!"); echo "<br>"; //第二個(gè)字符串小于第一個(gè)字符串 echo strnatcasecmp("101111nHOOO!","211nhooo!"); ?>測(cè)試看看?/?
輸出結(jié)果
0 -1 1