Parlons de la méthode d'implémentation spécifique du tri multi-tableau en PHP

PHPz
Libérer: 2023-04-18 09:40:40
original
579 Les gens l'ont consulté

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

  1. sort() et rsort()

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);
?>
Copier après la connexion

Résultat de sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => lemon
    [3] => orange
)
Copier après la connexion

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);
?>
Copier après la connexion

Résultats de sortie :

Array
(
    [0] => orange
    [1] => lemon
    [2] => banana
    [3] => apple
)
Copier après la connexion
  1. asort() et arsort()

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);
?>
Copier après la connexion

Résultat de sortie :

Array
(
    [Peter] => 35
    [Ben] => 37
    [Joe] => 43
)
Copier après la connexion

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);
?>
Copier après la connexion

Résultats de sortie :

Array
(
    [Joe] => 43
    [Ben] => 37
    [Peter] => 35
)
Copier après la connexion
  1. ksort() et krsort()

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);
?>
Copier après la connexion

Résultat de sortie :

Array
(
    [Ben] => 37
    [Joe] => 43
    [Peter] => 35
)
Copier après la connexion

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);
?>
Copier après la connexion

Résultat de sortie :

Array
(
    [Peter] => 35
    [Joe] => 43
    [Ben] => 37
)
Copier après la connexion

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>";
}
?>
Copier après la connexion

Résultat de sortie :

BMW 15 13
Land Rover 17 15
Saab 5 2
Volvo 22 18
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!