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]
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; });
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!