Gunakan algoritme "alami" untuk membandingkan dua string (tidak peka huruf besar-kecil):
<?phpecho strnatcasecmp("2Halo dunia!","10Halo DUNIA!");echo "<br>";echo strnatcasecmp("10Halo dunia!","2Halo DUNIA!");?>Fungsi strnatcasecmp() menggunakan algoritma "alami" untuk membandingkan dua string (tidak peka huruf besar-kecil).
Dalam aritmatika natural, angka 2 lebih kecil dari angka 10. Dalam pengurutan komputer, 10 kurang dari 2 karena angka pertama dalam 10 kurang dari 2.
Catatan: strnatcasecmp() tidak peka huruf besar-kecil.
strnatcasecmp( string1,string2 )
parameter | menggambarkan |
---|---|
string1 | Diperlukan. Menentukan string pertama yang akan dibandingkan. |
string2 | Diperlukan. Menentukan string kedua yang akan dibandingkan. |
Nilai pengembalian: | Fungsinya kembali: 0 - jika kedua string sama <0 - jika string1 lebih kecil dari string2 >0 - jika string1 lebih besar dari string2 |
---|---|
Versi PHP: | 4+ |
Perbedaan antara algoritma natural (strnatcmp) dan algoritma pengurutan string komputer konvensional (strcmp):
<?php$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");echo "Perbandingan string standar" ."<br>";usort($arr1,"strcmp");print_r($arr1);echo "<br>";echo "Perbandingan string urutan alami"."<br>";usort($arr2,"strnatcmp");print_r($arr2);?>