(PHP 4, PHP 5, PHP 7, PHP 8)
sort — Bir diziyi sıralar
&$dizi
, int $seçenekler
= SORT_REGULAR
) : boolBu işlev bir diziyi sıralar. Sıralama işlemi bittiğinde dizinin elemanları küçükten büyüğe doğru sıralanmış olur.
Bilginize:
İki üye karşılaştırıldığında eşitse bunların sıralı dizi içindeki göreli sırası tanımsızdır.
seçenekler
İsteğe bağlı ikinci değiştirge 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çleri
SORT_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.
Başarı durumunda true
, başarısızlık durumunda false
döner.
Ö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: Bu işlev dizi elemanlarına yeni anahtarlar atar. Anahtarları yeniden düzenlemek yerine evvelce atanmış anahtarları silecektir.
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.