PHP 7.4.24 Released!

krsort

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

krsortBir diziyi anahtarlarına göre büyükten küçüğe doğru sıralar

Açıklama

krsort(array &$dizi, int $seçenekler = SORT_REGULAR): bool

Bir diziyi anahtar/değer ilişkisini koruyarak "anahtarlarına" göre büyükten küçüğe doğru 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ı.

Değiştirgeler

dizi

Sıralanacak dizi.

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.

Dönen Değerler

Daima true döndürür.

Örnekler

Örnek 1 - krsort() örneği

<?php
$fruits 
= array("d"=>"lemon""a"=>"orange""b"=>"banana""c"=>"apple");
krsort($fruits);
foreach (
$fruits as $key => $val) {
    echo 
"$key = $val\n";
}
?>

Yukarıdaki örneğin çıktısı:

d = lemon
c = apple
b = banana
a = orange

Ayrıca Bakınız

  • sort() - Bir diziyi küçükten büyüğe doğru sıralar
  • arsort() - Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar
  • ksort() - Bir diziyi anahtarlarına göre küçükten büyüğe doğru sıralar
  • Dizilerde Sıralama
add a note add a note

User Contributed Notes 2 notes

up
-28
peter at pmkmedia dot com
17 years ago
Best deal sorting:

This is a function that will sort an array with integer keys (weight) and float values (cost) and delete 'bad deals' - entries that are more costly than other entries that have greater or equal weight.

Input: an array of unsorted weight/cost pairs
Output: none

function BEST_DEALS($myarray)
{   // most weight for least cost:
    // Peter Kionga-Kamau, http://www.pmkmedia.com
    // thanks to Nafeh for the reversal trick
    // free for unrestricted use.
    krsort($myarray, SORT_NUMERIC);
    while(list($weight, $cost) = each($myarray))
    {   // delete bad deals, retain best deals:
        if(!$lastweight)
        {
            $lastweight=$weight;
            $lastcost = $cost;
        }
        else if($cost >= $lastcost) unset($myarray[$weight]);
        else
        {
            $lastweight=$weight;
            $lastcost = $cost;
        }
    }
    ksort($myarray);
}
up
-31
Anonymous
16 years ago
To create a natural reverse sorting by keys, use the following function:

<?php
function natkrsort($array)
{
   
$keys = array_keys($array);
   
natsort($keys);

    foreach (
$keys as $k)
    {
       
$new_array[$k] = $array[$k];
    }
  
   
$new_array = array_reverse($new_array, true);

    return
$new_array;
}
?>
To Top