Maison > développement back-end > tutoriel php > Comment trier un tableau PHP en fonction d'une commande personnalisée ?

Comment trier un tableau PHP en fonction d'une commande personnalisée ?

Patricia Arquette
Libérer: 2024-12-24 08:11:15
original
952 Les gens l'ont consulté

How to Sort a PHP Array Based on a Custom Order?

Tri des tableaux de commande personnalisés en PHP

Le tri des tableaux en PHP est généralement effectué via des algorithmes basés sur la comparaison. Cependant, il existe des situations dans lesquelles vous devez trier les tableaux en fonction d'un ordre personnalisé prédéfini.

Considérez un tableau de tableaux où chaque sous-tableau contient deux clés : "id" et "title". Vous souhaitez trier le tableau principal dans un ordre spécifique, tel que :

[3452342, 5867867, 7867867, 1231233]
Copier après la connexion

Pour y parvenir, vous pouvez utiliser la fonction usort(). Cette fonction vous permet de spécifier une fonction de comparaison qui définit comment les éléments du tableau sont comparés.

Dans ce cas, la fonction de comparaison utilise une fermeture pour comparer les positions des valeurs "id" dans le tableau d'ordre personnalisé ( $order):

usort($array, function ($a, $b) use ($order) {
    $pos_a = array_search($a['id'], $order);
    $pos_b = array_search($b['id'], $order);
    return $pos_a - $pos_b;
});
Copier après la connexion

La fonction de comparaison attribue les positions des valeurs "id" dans le tableau $order à $pos_a et $pos_b. Il soustrait ensuite ces positions pour déterminer l'ordre ($a vient avant $b si $pos_a est inférieur à $pos_b).

En utilisant le tableau d'ordre personnalisé et la fonction de comparaison, vous pouvez trier efficacement votre tableau de tableaux dans l'ordre prédéfini.

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