"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment trier un tableau multidimensionnel par une colonne spécifiée en PHP?

Comment trier un tableau multidimensionnel par une colonne spécifiée en PHP?

Publié le 2025-03-25
Parcourir:883

How to Sort a Multidimensional Array by a Specified Column in PHP?

Triment un tableau multidimensionnel par une colonne spécifiée en php

pour trier un tableau multidimensionnel en php par une colonne spécifique, utilisez les fonctions php intégrées usort ou uasort . La clé du tri est de fournir une fonction de comparaison personnalisée qui détermine l'ordre des éléments de tableau. deuxième.

un entier négatif si le premier élément est considéré comme "moins" que le second. zéro si les éléments sont considérés où chaque élément représente un enregistrement avec plusieurs colonnes. Pour trier le tableau par la colonne

'name'

, utilisez le code suivant:

    usort ($ data, fonction ($ a, $ b) { return strcmp ($ a ['name'], $ b ['name']); });
  • Cette fonction de comparaison personnalisée utilise la fonction
  • strcmp
  • pour comparer les valeurs de la colonne
  • 'name'
  • pour chaque élément. Le tableau trié aura les éléments commandés par ordre alphabétique basés sur la colonne
'name'

.

tri par plusieurs colonnes

à trier par plusieurs colonnes, passez des paramètres supplémentaires à la fonction de comparaison personnalisée. Par exemple, pour trier par 'numéro' puis

'name'
usort($data, function($a, $b) {
  return strcmp($a['name'], $b['name']);
});

usort ($ data, fonction ($ a, $ b) { if ($ a ['nombre'] == $ b ['nombre']) { return strcmp ($ a ['name'], $ b ['name']); } retourner $ a ['numéro'] - $ b ['nombre']; }); fonctionnalités avancées Vous pouvez également spécifier les fonctionnalités avancées suivantes:

reverse:

Définir le deuxième paramètre de la fonction de comparaison vers

sort_dec pour inverser le durcis Ordre. Projections personnalisées:

Si les valeurs de colonne ne sont pas directement comparables, fournissez une fonction de projection comme troisième paramètre pour les convertir.
usort($data, function($a, $b) {
  if ($a['number'] == $b['number']) {
    return strcmp($a['name'], $b['name']);
  }
  return $a['number'] - $b['number'];
});
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3