En PHP, le tableau est un type de données très couramment utilisé, et dans le développement réel, nous devons souvent trier les tableaux. PHP fournit une variété d'algorithmes et de fonctions de tri, qui peuvent rendre les opérations de tri très pratiques et efficaces. Cet article présentera la méthode d'implémentation spécifique du tri multi-tableaux en PHP.
I. Tri de tableaux unidimensionnels
PHP fournit une variété d'algorithmes et de fonctions de tri, qui peuvent rendre les opérations de tri pratiques et efficaces. Parmi elles, les fonctions les plus couramment utilisées sont sort(), rsort(), asort(), arsort(), ksort(), krsort(), qui sont utilisées pour trier des tableaux de différents types. Les fonctions
sort() et rsort() sont utilisées pour trier les tableaux unidimensionnels par ordre croissant (du petit au grand) et décroissant (du grand au petit). La fonction sort() trie les éléments par ordre croissant et la fonction rsort() trie les éléments par ordre décroissant.
Ce qui suit est un exemple d'utilisation de la fonction sort() pour trier un tableau unidimensionnel par ordre croissant :
<?php $fruits = array("lemon", "orange", "banana", "apple"); sort($fruits); print_r($fruits); ?>
Résultat de sortie :
Array ( [0] => apple [1] => banana [2] => lemon [3] => orange )
Ce qui suit est un exemple d'utilisation de la fonction rsort() pour trier un tableau -tableau dimensionnel par ordre décroissant :
<?php $fruits = array("lemon", "orange", "banana", "apple"); rsort($fruits); print_r($fruits); ?>
Résultats de sortie :
Array ( [0] => orange [1] => lemon [2] => banana [3] => apple )
Les fonctions asort() et arsort() sont utilisées pour trier les tableaux unidimensionnels par ordre croissant (de petit à grand) et par ordre décroissant (du grand au petit). Contrairement à sort() et rsort(), les fonctions asort() et arsort() conservent la relation d'index du tableau inchangée.
Ce qui suit est un exemple d'utilisation de la fonction asort() pour trier un tableau unidimensionnel par ordre croissant :
<?php $age = array("Peter"=>35, "Ben"=>37, "Joe"=>43); asort($age); print_r($age); ?>
Résultat de sortie :
Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )
Ce qui suit est un exemple d'utilisation de la fonction asort() pour trier un tableau -tableau dimensionnel par ordre décroissant :
<?php $age = array("Peter"=>35, "Ben"=>37, "Joe"=>43); arsort($age); print_r($age); ?>
Résultats de sortie :
Array ( [Joe] => 43 [Ben] => 37 [Peter] => 35 )
Les fonctions ksort() et krsort() sont utilisées pour trier un tableau unidimensionnel par ordre croissant (du petit à grand) ou par ordre décroissant (de grand à petit) par clé. La fonction ksort() trie par valeur clé par ordre croissant, tandis que la fonction krsort() trie par valeur clé par ordre décroissant.
Ce qui suit est un exemple d'utilisation de la fonction ksort() pour trier un tableau unidimensionnel par ordre croissant par clé :
<?php $age = array("Peter"=>35, "Ben"=>37, "Joe"=>43); ksort($age); print_r($age); ?>
Résultat de sortie :
Array ( [Ben] => 37 [Joe] => 43 [Peter] => 35 )
Ce qui suit est un exemple d'utilisation de la fonction krsort() pour trier un tableau unidimensionnel par ordre décroissant par clé :
<?php $age = array("Peter"=>35, "Ben"=>37, "Joe"=>43); krsort($age); print_r($age); ?>
Résultat de sortie :
Array ( [Peter] => 35 [Joe] => 43 [Ben] => 37 )
II. Tri des tableaux multidimensionnels
Pour le tri des tableaux multidimensionnels, si on trie selon les éléments du tableau de première dimension, nous pouvons utiliser sort(), rsort(), asort(), arsort() ces quatre fonctions. Mais si nous devons trier selon d’autres clés du tableau multidimensionnel, nous devons utiliser la fonction usort(). La fonction
usort() nous permet de personnaliser la fonction de tri pour répondre à nos différents besoins de tri. Lorsque nous personnalisons la fonction de tri, nous recevons deux paramètres, qui font référence aux deux éléments à comparer. Lorsque le résultat de la comparaison de ces deux éléments est inférieur à 0, mettez $elem1 avant $elem2, sinon mettez $elem1 après $elem2.
Ce qui suit est un exemple d'utilisation de la fonction usort() pour trier un tableau multidimensionnel :
<?php $cars = array( array("Volvo",22,18), array("BMW",15,13), array("Saab",5,2), array("Land Rover",17,15) ); function my_sort($a,$b) { if ($a[0] == $b[0]) return 0; return ($a[0] < $b[0]) ? -1 : 1; } usort($cars, "my_sort"); foreach ($cars as $car) { echo $car[0] . " " . $car[1] . " " . $car[2] . "<br>"; } ?>
Résultat de sortie :
BMW 15 13 Land Rover 17 15 Saab 5 2 Volvo 22 18
Dans l'exemple ci-dessus, nous avons défini une fonction my_sort(), qui est utilisée pour comparer les premier ordre du tableau un élément. Appelez ensuite la fonction usort() et transmettez le tableau multidimensionnel à trier ainsi que le nom de la fonction de tri personnalisé à la fonction usort(). Une fois le tri terminé, nous utilisons l'instruction foreach pour parcourir les résultats triés.
Pour résumer, PHP fournit une variété d'algorithmes et de fonctions de tri pour répondre à nos différents besoins de tri. Qu'il s'agisse d'un tableau unidimensionnel ou d'un tableau multidimensionnel, PHP fournit différentes fonctions de tri à utiliser, nous permettant de trier le tableau facilement et commodément.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!