Menu
Coddy logo textTech

Trier les tableaux associatifs par clé

Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 23 sur 68.

Bien que le tri par valeurs soit utile, vous devez parfois organiser les tableaux associatifs par leurs clés à la place. PHP propose ksort() pour un ordre de clés croissant et krsort() pour un ordre de clés décroissant, les deux conservant les relations clé-valeur cruciales.

Voici comment ksort() trie un tableau par ordre alphabétique selon ses clés :

<?php
$settings = [
    "theme" => "dark",
    "language" => "english", 
    "notifications" => "enabled",
    "auto_save" => "on"
];

ksort($settings);
print_r($settings);
// Résultat : Array ( [auto_save] => on [language] => english [notifications] => enabled [theme] => dark )
?>

Remarquez comment les clés sont maintenant classées par ordre alphabétique de A à Z, tandis que chaque nom de paramètre reste correctement associé à sa valeur. Ceci est particulièrement utile lorsque vous souhaitez afficher des options de configuration ou des éléments de menu de manière prévisible et organisée.

Pour un ordre alphabétique inverse, krsort() fonctionne de manière similaire mais trie les clés de Z à A. Les deux fonctions modifient directement le tableau original, tout comme les autres fonctions de tri PHP, ce qui les rend efficaces pour organiser des données où l'ordre des clés importe plus que l'ordre des valeurs.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

challenge icon

Défi

Facile

Vous recevrez une entrée : un tableau associatif de noms de départements et leurs allocations budgétaires au format JSON. Lisez l'entrée, convertissez la chaîne JSON en un tableau, utilisez ksort() pour trier les départements par ordre alphabétique selon leurs clés par ordre croissant, et affichez le tableau trié en utilisant print_r().

Format d'entrée : Une ligne contenant un objet JSON avec les noms de départements comme clés et les montants budgétaires comme valeurs (exemple : {"Marketing":75000,"IT":120000,"HR":65000,"Finance":95000})

Sortie attendue : Le tableau associatif trié par ordre alphabétique croissant selon les noms de départements (clés), affiché à l'aide de print_r()

Aide-mémoire

PHP fournit les fonctions ksort() et krsort() pour trier les tableaux associatifs par leurs clés tout en conservant les relations clé-valeur.

ksort() trie les clés par ordre alphabétique croissant (A à Z) :

ksort($array);

krsort() trie les clés par ordre alphabétique décroissant (Z à A) :

krsort($array);

Les deux fonctions modifient directement le tableau d'origine :

<?php
$settings = [
    "theme" => "dark",
    "language" => "english", 
    "notifications" => "enabled",
    "auto_save" => "on"
];

ksort($settings);
print_r($settings);
// Résultat : Array ( [auto_save] => on [language] => english [notifications] => enabled [theme] => dark )
?>

Essayez vous-même

<?php
// Lire l'entrée
$input = fgets(STDIN);

// Convertir le JSON en tableau
$departments = (array)json_decode($input, true);

// TODO : Écrivez votre code ci-dessous pour trier le tableau par clés


// Afficher le résultat
print_r($departments);
?>
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux