krsort

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

krsortTrie un tableau en sens inverse et suivant les clés

Description

krsort ( array &$array , int $flags = SORT_REGULAR ) : bool

krsort() trie le tableau array en ordre inverse et suivant les clés, en maintenant la correspondance entre les clés et les valeurs. Cette fonction est pratique pour les tableaux associatifs.

Liste de paramètres

array

Le tableau d'entrée.

flags

Le deuxième paramètre optionnel flags peut être utilisé pour modifier le comportement de tri en utilisant ces valeurs :

Type de drapeaux de tri :

  • SORT_REGULAR - compare items normally; the details are described in the comparison operators section
  • SORT_NUMERIC - compare les éléments numériquement
  • SORT_STRING - compare les éléments comme des chaînes de caractères
  • SORT_LOCALE_STRING - compare les éléments comme des chaînes de caractères, basé sur la locale courante. Ceci utilise la locale, qui peut être changée en utilisant setlocale()
  • SORT_NATURAL - compare les éléments comme des chaînes de caractères utilisant "l'ordre naturel" comme natsort()
  • SORT_FLAG_CASE - peut être combiné (OU bit à bit) avec SORT_STRING ou SORT_NATURAL pour trier les chaînes sans tenir compte de la casse

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

Exemple #1 Exemple avec krsort()

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

L'exemple ci-dessus va afficher :

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

Voir aussi

  • arsort() - Trie un tableau en ordre inverse et conserve l'association des index
  • ksort() - Trie un tableau suivant les clés
  • Les fonctions de tri des tableaux

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
15 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