usort Fonksiyonu
usort fonksiyonu, bir diziyi
eleman değerlerine göre sıralar ve
sıralanmış dizideki elemanların sırasını
belirlemek için bir geri çağrı kullanır.
Fonksiyon dizinin kendisini değiştirir.
Karşılaştırma fonksiyonu, karşılaştırma sonucuna bağlı olarak: sıfırdan küçük, eşit veya büyük olabilen bir tamsayı döndürmelidir.
Sözdizimi
usort(array &$array, callable $callback): bool
Örnek
Bir diziyi elemanlara göre artan şekilde sıralayalım:
<?php
$arr = [1, 3, 2, 5, 4];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a < $b) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
Kodun çalıştırılmasının sonucu:
[1, 2, 3, 4, 5]
Örnek
Şimdi bir diziyi elemanlara göre azalan şekilde sıralayalım:
<?php
$arr = [1, 3, 2, 5, 4];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a > $b) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
Kodun çalıştırılmasının sonucu:
[1, 2, 3, 4, 5]
Örnek
Şimdi bir diziyi, dizi elemanlarındaki karakter sayısına göre artan şekilde sıralayalım:
<?php
$arr = [
'123',
'1',
'12345',
'12',
'1234',
];
function func($a, $b)
{
if (strlen($a) === strlen($b)) {
return 0;
} else if (strlen($a) < strlen($b)) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
Kodun çalıştırılmasının sonucu:
[
'1',
'12',
'123',
'1234',
'12345',
]
Ayrıca Bakınız
-
sortfonksiyonu,
elemanlara göre artan şekilde sıralar -
rsortfonksiyonu,
elemanlara göre azalan şekilde sıralar -
ksortfonksiyonu,
anahtarlara göre artan şekilde sıralar -
krsortfonksiyonu,
anahtarlara göre azalan şekilde sıralar -
asortfonksiyonu,
elemanlara göre artan şekilde anahtarları koruyarak sıralar -
arsortfonksiyonu,
elemanlara göre azalan şekilde anahtarları koruyarak sıralar -
natsortfonksiyonu,
doğal sıralama yapar -
natcasesortfonksiyonu,
büyük/küçük harf duyarsız doğal sıralama yapar -
usortfonksiyonu,
geri çağrı ile sıralar -
uksortfonksiyonu,
geri çağrı ile anahtarlara göre sıralar -
uasortfonksiyonu,
geri çağrı ile anahtarları koruyarak sıralar -
array_multisortfonksiyonu,
birden fazla diziyi sıralar