(PHP 4, PHP 5, PHP 7, PHP 8)
sort — Bir diziyi küçükten büyüğe doğru sıralar
Bu işlev bir diziyi sıralar. Sıralama işlemi bittiğinde dizinin "değerleri" küçükten büyüğe doğru sıralanmış olur.
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: Bu işlev dizi elemanlarına yeni anahtarlar atar. Anahtarları yeniden düzenlemek yerine evvelce atanmış anahtarları silecektir.
Bilginize:
Dahili dizi göstericisi ilk elemana atanır.
seçenekler
İsteğe bağlı ikinci bağımsız değişken seçenekler
, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:
Sıralama türü seçenekleri:
SORT_REGULAR
- öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleriSORT_NUMERIC
- öğeler sayısal olarak karşılaştırılır.SORT_STRING
- öğeler dizgesel olarak karşılaştırılır.SORT_LOCALE_STRING
- öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır. SORT_NATURAL
- natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır. SORT_FLAG_CASE
- dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING
veya SORT_NATURAL
ile bitsel VEYAlanabilir. Daima true
döndürür.
Örnek 1 - sort() örneği
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
Yukarıdaki örneğin çıktısı:
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
Meyvalar abecesel olarak sıralanmıştır.
Örnek 2 - Harf büyüklüğüne duyarsız doğal sıralama kullanılan sort() örneği
<?php
$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
Yukarıdaki örneğin çıktısı:
fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20
Meyvalar natcasesort() işlevi kullanılmış gibi sıralandı.
Bilginize: Çoğu PHP sıralama işlevindeki gibi sort() işlevinde de » Quicksort gerçeklenimi kullanılmıştır. Dayanak noktası olarak bölümün ortası seçilerek zaten sıralanmış diziler için en uygun süre elde edilir. Ancak bu, uygulama ile ilgili bir ayrıntı olup buna güvenilemez.
Farklı türde değerler içeren dizileri sıralarken dikkatli olun; yoksa sort() işlevi SORT_REGULAR
değerli seçenekler
ile kullanılırsa umulmadık sonuçlar üretebilir.