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 :
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
))
Tri par 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.
function cmp($a, $b) {
if ($a['status'] == $b['status']) {
return 0;
}
return ($a['status'] 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 :
usort($array, "cmp");
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.
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