Maison > développement back-end > tutoriel php > Comment trier les tableaux et les données en PHP ?

Comment trier les tableaux et les données en PHP ?

Linda Hamilton
Libérer: 2025-01-02 15:36:41
original
998 Les gens l'ont consulté

How to Sort Arrays and Data in PHP?

Comment puis-je trier des tableaux et des données en PHP ?

Tableaux unidimensionnels de base

Cela inclut les tableaux multidimensionnels, y compris les tableaux d'objets, et le tri un tableau basé sur un autre.

Tri Fonctions :

  • tri
  • rsort
  • asort
  • arsort
  • natsort
  • natcasesort
  • ksort
  • krsort

Multi Tableaux dimensionnels, y compris les tableaux d'objets

PHP nécessite une fonction de comparaison personnalisée pour trier les valeurs complexes.

Étapes :

  1. Créez une fonction de comparaison qui prend deux éléments et renvoie :

    • 0 si les éléments sont égal.
    • Une valeur inférieure à 0 si la première valeur est inférieure.
    • Une valeur supérieure à 0 si la première valeur est supérieure.
  2. Utilisez-en un fonctions :

    • usort
    • uasort
    • uksort

Comparaisons numériques personnalisées

Si vous triez par un chiffre clé :

function cmp(array $a, array $b) {
    return $a['baz'] - $b['baz'];
}
Copier après la connexion

Objets

Si vous triez un tableau d'objets :

function cmp($a, $b) {
    return $a->baz - $b->baz;
}
Copier après la connexion

Tri par plusieurs champs

Pour le tri principal par un champ (par exemple, "foo") et tri secondaire par un autre (par exemple, "baz") :

function cmp(array $a, array $b) {
    if (($cmp = strcmp($a['foo'], $b['foo'])) !== 0) {
        return $cmp;
    } else {
        return $a['baz'] - $b['baz'];
    }
}
Copier après la connexion

Tri dans un ordre manuel

Pour trier dans un ordre spécifique (par exemple, "foo", "bar", "baz") :

function cmp(array $a, array $b) {
    static $order = array('foo', 'bar', 'baz');
    return array_search($a['foo'], $order) - array_search($b['foo'], $order);
}
Copier après la connexion

Tri d'un tableau en fonction d'un autre

Pour trier un tableau en fonction d'un autre un autre :

array_multisort($array1, $array2);
Copier après la connexion

Array_column

Depuis PHP 5.5.0, vous pouvez utiliser array_column pour extraire une colonne spécifique et trier le tableau en conséquence :

array_multisort(array_column($array, 'foo'), SORT_DESC, $array);
Copier après la connexion

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 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal