(PHP 4, PHP 5, PHP 7, PHP 8)
uasort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur
Bu işlev kullanıcı tarafından sağlanmış bir karşılaştırma işlevini kullanarak diziyi indislerine göre sıralarken anahtar/değer ilişkisini korur.
Bu işlev, esas olarak, eleman sırasının önemli olduğu ilişkisel dizileri sıralarken kullanılır.
Bilginize:
Dahili dizi göstericisi ilk elemana atanır.
diziSıralanacak dizi.
karş_işleviKarşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.
Karşılaştırma işlevinden float gibi
tamsayı olmayan değerlerin döndürülmesi, geri çağırım
işlevinin dönüş değerinin dahili olarak int türüne
dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve
0.1 gibi değerlerin her ikisi de 0
tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.
Daima true döndürür.
| Sürüm: | Açıklama |
|---|---|
| 8.2.0 |
Dönüş türü artık true;evvelce, bool idi.
|
| 8.0.0 |
Eğer işleve bağımsız değişkenlerinden biri gönderimli
aktarılıyorsa, bu artık E_WARNING seviyesinde
bir uyarıya sebep oluyor.
|
Örnek 1 - uasort() örneği
<?php
// Karşılaştırma işlevi
function karş($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// Sıralanacak dizi
$dizi = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($dizi);
// Sıralayıp sonucu basalım
uasort($dizi, 'karş');
print_r($dizi);
?>Yukarıdaki örneğin çıktısı:
Array
(
[a] => 4
[b] => 8
[c] => -1
[d] => -9
[e] => 2
[f] => 5
[g] => 3
[h] => -4
)
Array
(
[d] => -9
[h] => -4
[c] => -1
[e] => 2
[g] => 3
[a] => 4
[f] => 5
[b] => 8
)