array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.natsort.php', 1 => 'natsort', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Dizi İşlevleri', ), 'prev' => array ( 0 => 'function.natcasesort.php', 1 => 'natcasesort', ), 'next' => array ( 0 => 'function.next.php', 1 => 'next', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/array/functions/natsort.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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.
dizi
Sı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 )