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
951 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!

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
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