Tri des tableaux multidimensionnels par valeur
Le tri des données par valeur clé spécifique dans un tableau multidimensionnel est une tâche courante. Ceci peut être réalisé grâce à l'utilisation d'une fonction de tri définie par l'utilisateur en conjonction avec la fonction usort() ou uasort().
Pour trier un tableau par la touche "order", les étapes suivantes peuvent être suivies :
function sortByOrder($a, $b) { if ($a['order'] > $b['order']) { return 1; } elseif ($a['order'] < $b['order']) { return -1; } return 0; }
usort($myArray, 'sortByOrder');
usort($myArray, function($a, $b) { if ($a['order'] > $b['order']) { return 1; } elseif ($a['order'] < $b['order']) { return -1; } return 0; });
usort($myArray, function($a, $b) { return $a['order'] <=> $b['order']; });
usort($myArray, fn($a, $b) => $a['order'] <=> $b['order']);
Tri multidimensionnel :
Pour étendre le tri à plusieurs dimensions, la fonction de tri peut être utilisée de manière récursive :
usort($myArray, function($a, $b) { $retval = $a['order'] <=> $b['order']; if ($retval == 0) { $retval = $a['suborder'] <=> $b['suborder']; if ($retval == 0) { $retval = $a['details']['subsuborder'] <=> $b['details']['subsuborder']; } } return $retval; });
Clé de conservation Associations :
Pour conserver les associations clés pendant le tri, utilisez uasort() au lieu de usort(). Consultez le manuel PHP pour une comparaison des fonctions de tri de tableaux.
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!