Maison  >  Article  >  développement back-end  >  Comment trier un tableau unidimensionnel en php (une brève analyse de la méthode)

Comment trier un tableau unidimensionnel en php (une brève analyse de la méthode)

PHPz
PHPzoriginal
2023-04-10 09:44:14782parcourir

PHP est un langage de script souvent utilisé dans les applications de développement Web. Les opérations sur les tableaux sont l'une des opérations couramment utilisées dans le développement PHP. Les tableaux doivent souvent être triés pour un traitement ultérieur.

Les fonctions sort() et rsort() sont généralement utilisées pour trier des tableaux unidimensionnels. La différence entre elles est que sort() trie par ordre croissant, tandis que rsort() trie par ordre décroissant. Jetons un coup d'œil à leur utilisation.

Fonction sort() La fonction

sort() peut trier le tableau par ordre croissant. Cette fonction modifiera la relation clé-valeur du tableau d'origine et renverra une valeur booléenne (vrai ou faux) pour indiquer si le tri est réussi.

Par exemple, nous avons un tableau unidimensionnel :

$arr = array(5,8,3,0,2,7,1);

Nous pouvons utiliser la fonction sort() pour le trier par ordre croissant :

sort($arr);

Le tableau trié est :

Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 5 [5] => 7 [6] => 8 )

La fonction sort() peut également être utilisé sur les tableaux de chaînes Sort. Il convient de noter que la fonction sort() trie selon l'ordre des caractères dans la table de codes ASCII, et non selon l'ordre du dictionnaire.

Par exemple, nous avons un tableau de chaînes :

$arr = array("apple", "banana", "peach", "orange");

Nous utilisons la fonction sort() pour le trier :

sort($arr);

Le tableau trié est :

Array ( [0] => apple [1] => banana [2] => orange [3] => peach )

On voit que les résultats du tri ne sont pas triés par ordre alphabétique .

Fonction rsort()

La fonction rsort() est fondamentalement la même que la fonction sort(), sauf qu'elle est triée par ordre décroissant.

Par exemple, nous avons un tableau unidimensionnel :

$arr = array(5,8,3,0,2,7,1);

Nous pouvons utiliser la fonction rsort() pour le trier par ordre décroissant :

rsort($arr);

Le tableau trié est :

Array ( [0] => 8 [1] => 7 [2] => 5 [3] => 3 [4] => 2 [5] => 1 [6] => 0 )

La fonction rsort() est également applicable à tableaux de chaînes Trier.

La fonction asort() et la fonction arsort()

La fonction asort() et la fonction arsort() sont fondamentalement les mêmes que la fonction sort() et la fonction rsort(), sauf qu'elles conserveront le nom de la clé (relation clé-valeur ) du tableau d'origine.

Par exemple, nous avons un tableau associatif :

$arr = array("apple" => 5, "banana" => 8, "peach" => 3, "orange" => 2);

Nous pouvons utiliser la fonction asort() pour le trier par ordre croissant :

asort($arr);

Le tableau trié est :

Array ( [orange] => 2 [peach] => 3 [apple] => 5 [banana] => 8 )

Comme vous pouvez le voir, les noms des clés (clé -relations de valeur) restent tels quels. La fonction

arsort() convient également pour trier les tableaux associatifs par ordre décroissant.

Fonction ksort() et fonction krsort()

La fonction ksort() et la fonction krsort() sont utilisées pour trier le tableau de valeurs clés par ordre croissant et décroissant par nom de clé.

Par exemple, nous avons un tableau de valeurs clés :

$arr = array("x" => 5, "z" => 8, "y" => 3, "w" => 2);

Nous pouvons utiliser la fonction ksort() pour le trier par ordre croissant :

ksort($arr);

Le tableau trié est :

Array ( [w] => 2 [x] => 5 [y] => 3 [z] => 8 )

Comme vous pouvez le voir, les éléments du tableau sont triés selon le nom de la clé (ordre des lettres). La fonction

krsort() convient également pour trier les tableaux de valeurs clés par ordre décroissant.

Tri de tableaux multidimensionnels

Les fonctions ci-dessus conviennent au tri de tableaux unidimensionnels. Lorsque vous traitez des tableaux multidimensionnels, vous devez faire attention à la relation hiérarchique de tri.

Par exemple, nous avons un tableau bidimensionnel :

$arr = array(
    array("name" => "xiaoming", "age" => 30),
    array("name" => "xiaohong", "age" => 25),
    array("name" => "xiaoli", "age" => 20)
);

Nous pouvons utiliser la fonction usort() pour le trier par ordre croissant par âge :

usort($arr, function($a, $b){
    if($a["age"] == $b["age"]){
        return 0;
    }
    return ($a["age"] < $b["age"]) ? -1 : 1;
});

Le tableau trié est :

Array
(
    [0] => Array
        (
            [name] => xiaoli
            [age] => 20
        )

    [1] => Array
        (
            [name] => xiaohong
            [age] => 25
        )

    [2] => Array
        (
            [name] => xiaoming
            [age] => 30
        )

)

Comme vous pouvez le voir, usort ( ) trie le tableau bidimensionnel par ordre croissant par âge.

Résumé

Pour trier un tableau unidimensionnel, vous pouvez utiliser la fonction sort() et la fonction rsort(). Pour trier les tableaux associatifs, vous pouvez utiliser la fonction asort() et la fonction arsort(). Pour trier les tableaux clé-valeur, vous pouvez utiliser la fonction ksort() et la fonction krsort(). Lorsque vous traitez des tableaux multidimensionnels, vous pouvez utiliser la fonction usort() pour effectuer le tri. L'utilisation des fonctions ci-dessus peut améliorer considérablement l'efficacité et la précision du traitement des tableaux.

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!

Déclaration:
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