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

PHPz
Libérer: 2023-04-10 11:29:33
original
760 Les gens l'ont consulté

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

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

sort($arr);
Copier après la connexion
Copier après la connexion

Le tableau trié est :

Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 5 [5] => 7 [6] => 8 )
Copier après la connexion

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

Nous utilisons la fonction sort() pour le trier :

sort($arr);
Copier après la connexion
Copier après la connexion

Le tableau trié est :

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

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

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

rsort($arr);
Copier après la connexion

Le tableau trié est :

Array ( [0] => 8 [1] => 7 [2] => 5 [3] => 3 [4] => 2 [5] => 1 [6] => 0 )
Copier après la connexion

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

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

asort($arr);
Copier après la connexion

Le tableau trié est :

Array ( [orange] => 2 [peach] => 3 [apple] => 5 [banana] => 8 )
Copier après la connexion

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

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

ksort($arr);
Copier après la connexion

Le tableau trié est :

Array ( [w] => 2 [x] => 5 [y] => 3 [z] => 8 )
Copier après la connexion

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

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

Le tableau trié est :

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

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

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

)
Copier après la connexion

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!

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!