(PHP 4, PHP 5, PHP 7, PHP 8)
natsort — Bir diziyi "doğal sıralama" algoritmasıyla sıralar
Bu işlev, abecesayısal dizgeleri, insanların anahtar değer ilişkisini sağlayarak yaptıkları şekilde gerçekleyen bir sıralama algoritmasını kullanarak sıralar. Bu algoritmaya "doğal sıralama" algoritması adı verilir. Bu algoritma ile sort() işlevinin yaptığı standart sıralama arasındaki farkı gösteren bir örnek aşağıdadır.
Bilginize:
İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.
Bilginize:
Dahili dizi göstericisi ilk elemana atanır.
diziSıralanacak dizi.
Daima true döndürür.
Örnek 1 - natsort() genel kullanım örnekleri
<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
asort($array1);
echo "Standart sıralama\n";
print_r($array1);
natsort($array2);
echo "\nDoğal sıralama\n";
print_r($array2);
?>Yukarıdaki örneğin çıktısı:
Standart sıralama
Array
(
[3] => img1.png
[1] => img10.png
[0] => img12.png
[2] => img2.png
)
Doğal sıralama
Array
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)
Daha fazla bilgi için Martin Pool'un » Natural Order String Comparison sayfasına bakınız.
Örnek 2 - Olası sorunları gösteren natsort() örnekleri
<?php
echo "Negatif sayılar\n";
$negative = array('-5','3','-2','0','-1000','9','1');
print_r($negative);
natsort($negative);
print_r($negative);
echo "Sıfır doldurma\n";
$zeros = array('09', '8', '10', '009', '011', '0');
print_r($zeros);
natsort($zeros);
print_r($zeros);
?>Yukarıdaki örneğin çıktısı:
Negatif sayılar
Array
(
[0] => -5
[1] => 3
[2] => -2
[3] => 0
[4] => -1000
[5] => 9
[6] => 1
)
Array
(
[2] => -2
[0] => -5
[4] => -1000
[3] => 0
[6] => 1
[1] => 3
[5] => 9
)
Sıfır doldurma
Array
(
[0] => 09
[1] => 8
[2] => 10
[3] => 009
[4] => 011
[5] => 0
)
Array
(
[5] => 0
[1] => 8
[3] => 009
[0] => 09
[2] => 10
[4] => 011
)