(PHP 4, PHP 5, PHP 7, PHP 8)
uksort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar
Bu işlev kullanıcı tarafından sağlanmış bir karşılaştırma işlevini kullanarak diziyi "anahtarlarına" göre sıralar.
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.
dizi
Sıralanacak dizi.
karş_işlevi
Karşı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şlev e 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 - uksort() örneği
<?php
function cmp($a, $b)
{
$a = preg_replace('@^(a|an|the) @', '', $a);
$b = preg_replace('@^(a|an|the) @', '', $b);
return strcasecmp($a, $b);
}
$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
uksort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>
Yukarıdaki örneğin çıktısı:
an apple: 3 a banana: 4 the Earth: 2 John: 1