Maison >développement back-end >tutoriel php >Comment trier des tableaux multidimensionnels personnalisés en fonction d'une clé spécifique en PHP ?
Tri personnalisé des tableaux multidimensionnels
Le tri des tableaux multidimensionnels peut être une tâche courante en programmation. Cet article montre comment trier un tel tableau en fonction d'une clé spécifique à l'aide de la fonction PHP usort().
Comprendre la tâche
Considérez le tableau multidimensionnel suivant où chaque l'élément représente un enregistrement :
<code class="php">Array ( [0] => Array ( [iid] => 1 [invitee] => 174 [nid] => 324343 [showtime] => 2010-05-09 15:15:00 [location] => 13 [status] => 1 [created] => 2010-05-09 15:05:00 [updated] => 2010-05-09 16:24:00 ) [1] => Array ( [iid] => 1 [invitee] => 220 [nid] => 21232 [showtime] => 2010-05-09 15:15:00 [location] => 12 [status] => 0 [created] => 2010-05-10 18:11:00 [updated] => 2010-05-10 18:11:00 ))</code>
Tri par une clé
Pour trier ce tableau par la clé "statut", nous devons définir une fonction de comparaison qui détermine l'ordre des éléments.
<code class="php">function cmp($a, $b) { if ($a['status'] == $b['status']) { return 0; } return ($a['status'] < $b['status']) ? -1 : 1; }</code>
Cette fonction compare les valeurs de "statut" de deux éléments. Si les valeurs sont égales, il renvoie 0. Si le premier élément a une valeur de « statut » inférieure à celle du second, il renvoie -1. Sinon, il renvoie 1.
Utilisation de usort()
Nous pouvons maintenant utiliser la fonction usort() pour trier le tableau à l'aide de notre fonction de comparaison :
<code class="php">usort($array, "cmp");</code>
Cela triera le tableau par ordre croissant en fonction de la clé « statut ». Le tableau modifié verra ses éléments réorganisés en conséquence.
Personnalisation de la comparaison
La fonction de comparaison peut être personnalisée pour trier le tableau en fonction de n'importe quelle clé. Modifiez simplement la fonction pour comparer les valeurs clés souhaitées. Cela offre une flexibilité dans le tri des tableaux multidimensionnels en fonction de différents critères.
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!