Fonctions PHP pour trier les tableaux - Letecode

Trier un tableau en PHP

Dernière mise à jour : 26/02/2022

Dans ce chapitre, vous apprendrez à trier les éléments ou les clés d'un tableau par ordre croissant ou décroissant en PHP.

Fonctions PHP pour trier les tableaux

Dans le chapitre précédent, vous avez appris l'essentiel des tableaux PHP, c'est-à-dire ce que sont les tableaux, comment les créer, comment afficher leur structure, comment accéder à leurs éléments, etc. Vous pouvez faire encore plus de choses avec les tableaux comme trier les éléments dans n'importe quel commande que vous aimez.

PHP est livré avec un certain nombre de fonctions intégrées conçues spécifiquement pour trier les éléments du tableau de différentes manières, par exemple par ordre alphabétique ou numérique dans l'ordre croissant ou décroissant. Ici, nous allons explorer certaines de ces fonctions les plus couramment utilisées pour trier les tableaux.

  • sort() et rsort() : Pour trier les tableaux indexés
  • asort() et arsort() : Pour trier les tableaux associatifs par valeur
  • ksort() et krsort() : Pour trier les tableaux associatifs par clé

Tri des tableaux indexés par ordre croissant

La fonction sort() permet de trier les éléments du tableau indexé par ordre croissant (alphabétiquement pour les lettres et numériquement pour les nombres).

<?php
/* Définir un tableau */
$couleurs = array("Red", "Green", "Blue", "Yellow");
 
/* Trier et afficher le tableau */
sort($couleurs);
print_r($couleurs);
?>

Cette instruction print_r() donne la sortie suivante :

Tableau ( [0] => Bleu [1] => Vert [2] => Rouge [3] => Jaune )

De même, vous pouvez trier les éléments numériques du tableau par ordre croissant.

<?php
/* Définir un tableau */
$numbers = array(1, 2, 2.5, 4, 7, 10);
 
/* Trier et afficher le tableau */
sort($numbers);
print_r($numbers);
?>

Cette instruction print_r() donne la sortie suivante :

Tableau ( [0] => 1 [1] => 2 [2] => 2.5 [3] => 4 [4] => 7 [5] => 10 )

Tri des tableaux indexés par ordre décroissant

La fonction rsort() permet de trier les éléments du tableau indexé par ordre décroissant (alphabétique pour les lettres et numérique pour les nombres).

<?php
/* Définir un tableau */
$couleurs = array("Red", "Green", "Blue", "Yellow");
 
/* Trier et afficher le tableau */
rsort($couleurs);
print_r($couleurs);
?>

Cette instruction print_r() donne la sortie suivante :

Array ( [0] => Jaune [1] => Rouge [2] => Vert [3] => Bleu )

De même, vous pouvez trier les éléments numériques du tableau par ordre décroissant.

<?php
/* Définir un tableau */
$numbers = array(1, 2, 2.5, 4, 7, 10);
 
/* Trier et afficher le tableau */
rsort($numbers);
print_r($numbers);
?>

Cette instruction print_r() donne la sortie suivante :

Tableau ( [0] => 10 [1] => 7 [2] => 4 [3] => 2.5 [4] => 2 [5] => 1 )

Tri des tableaux associatifs dans l'ordre croissant par valeur

La fonction asort() trie les éléments d'un tableau associatif dans l'ordre croissant selon la valeur. Cela fonctionne exactement comme sort(), mais il préserve l'association entre les clés et ses valeurs lors du tri.

<?php
/* Définir un tableau */
$age = array("Patrick"=>20, "Henock"=>14, "Jean"=>45, "Carlos"=>35);
 
/* trier par la valeur et afficher */
asort($age);
print_r($age);
?>

Cette instruction print_r() donne la sortie suivante :

Array ( [Henock] => 14 [Patrick] => 20 [Carlos] => 35 [Jean] => 45 )

Tri des tableaux associatifs par ordre décroissant de valeur

La fonction arsort() trie les éléments d'un tableau associatif par ordre décroissant en fonction de la valeur. Cela fonctionne exactement comme rsort(), mais il préserve l'association entre les clés et ses valeurs lors du tri.

<?php
/* Définir un tableau */
$age = array("Patrick"=>20, "Henock"=>14, "Jean"=>45, "Carlos"=>35);
 
/* trier par la valeur et afficher */
arsort($age);
print_r($age);
?>

Cette instruction print_r() donne la sortie suivante :

Array ( [Jean] => 45 [Carlos] => 35 [Patrick] => 20 [Henock] => 14 )

Tri des tableaux associatifs dans l'ordre croissant par clé

La fonction ksort() trie les éléments d'un tableau associatif dans l'ordre croissant de leurs clés. Il préserve l'association entre les clés et ses valeurs lors du tri, comme la fonction asort().

<?php
/* Définir un tableau */
$age = array("Patrick"=>20, "Henock"=>14, "Jean"=>45, "Carlos"=>35);
 
/* trier par la clé et afficher */
ksort($age);
print_r($age);
?>

Cette instruction print_r() donne la sortie suivante :

 

Array ( [Carlos] => 35 [Henock] => 14 [Jean] => 45 [Patrick] => 20 )

Tri des tableaux associatifs par ordre décroissant par clé

La fonction krsort() trie les éléments d'un tableau associatif dans l'ordre décroissant de leurs clés. Il préserve l'association entre les clés et ses valeurs lors du tri, comme la fonction arsort().

<?php
/* Définir un tableau */
$age = array("Patrick"=>20, "Henock"=>14, "Jean"=>45, "Carlos"=>35);
 
/* trier par la clé et afficher */
krsort($age);
print_r($age);
?>

Cette instruction print_r() donne la sortie suivante :

Array ( [Patrick] => 20 [Jean] => 45 [Henock] => 14 [Carlos] => 35 )