natsort

(PHP 4, PHP 5, PHP 7, PHP 8)

natsortBir diziyi "doğal sıralama" algoritmasıyla sıralar

Açıklama

natsort(array&$array): true

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.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
8.2.0 Dönüş türü artık true;evvelce, bool idi.

Örnekler

Ö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 )

Ayrıca Bakınız

  • natcasesort() - Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar
  • Dizilerde Sıralama
  • strnatcmp() - "Doğal sıralama" algoritmasını kullanarak dizgeleri karşılaştırır
  • strnatcasecmp() - "Doğal sıralama" algoritmasını kullanarak dizgeleri harf büyüklüğüne duyarsız olarak karşılaştırır
To Top