Συνάρτηση strnatcasecmp() του PHP
Παράδειγμα
Σύγκριση δύο αλφαβητικών συμβόλων με φυσικό αλγόριθμο (χωρίς διάκριση κεφαλαίων και πεζών):
<?php echo strnatcasecmp("2Hello world!","10Hello WORLD!"); echo "<br>"; echo strnatcasecmp("10Hello world!","2Hello WORLD!"); ?>
Ορισμός και χρήση
Η συνάρτηση strnatcasecmp() χρησιμοποιεί μια "φυσική" αλγόριθμο για τη σύγκριση δύο αλφαβητικών συμβόλων.
Στη φυσική αλγόριθμο, ο αριθμός 2 είναι μικρότερος από τον αριθμό 10. Στην υπολογιστική ταξινόμηση, ο αριθμός 10 είναι μικρότερος από τον αριθμό 2, επειδή ο πρώτος αριθμός του 10 είναι μικρότερος από τον αριθμό 2.
注释:strnatcasecmp() 对大小写不敏感。
语法
strnatcasecmp(string1,string2)
参数 | 描述 |
---|---|
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); ?>