Fungsi strnatcasecmp()
digunakan untuk dapat membandingkan dua string menggunakan algoritma “natural”.
Dalam algoritme 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() peka huruf besar kecil(case-insensitive.).
strnatcasecmp(string1,string2)
Parameter | Deskripsi |
---|---|
string1 | Required. Menentukan string pertama untuk dibandingkan |
string2 | Required. Menentukan string kedua untuk dibandingkan |
Return Value: | Fungsi ini mengembalikan: 0 – jika kedua string sama <0 – jika string1 lebih kecil dari string2 0 – jika string1 lebih besar dari string2 |
---|---|
PHP Version: | 4+ |
Contoh 1
Bandingkan dua string menggunakan algoritme “alami” (tidak peka huruf besar / kecil):
<?php echo strnatcasecmp("2Hello world!","10Hello WORLD!"); echo "<br>"; echo strnatcasecmp("10Hello world!","2Hello WORLD!"); ?> /* Output : -1 1
Contoh 2
Perbedaan antara algoritma alami (strnatcmp) dan algoritma penyortiran string komputer biasa (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); ?> /* Output : Perbandingan string standar Array ( [0] => pic01 [1] => pic1 [2] => pic10 [3] => pic100 [4] => pic2 [5] => pic20 [6] => pic200 [7] => pic30 ) Perbandingan string urutan alami Array ( [0] => pic01 [1] => pic1 [2] => pic2 [3] => pic10 [4] => pic20 [5] => pic30 [6] => pic100 [7] => pic200 )