uksort

(PHP 4, PHP 5, PHP 7, PHP 8)

uksortBir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar

Açıklama

uksort(array&$dizi, callable$karş_işlevi): true

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.

Bağımsız Değişkenler

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.

callback(mixed$a, mixed$b): int
Dikkat

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.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

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.

Örnekler

Ö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

Ayrıca Bakınız

  • usort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar
  • uasort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur
  • Dizilerde Sıralama
To Top