Maison >développement back-end >tutoriel php >Comment puis-je trier de manière personnalisée les clés d'un tableau associatif PHP ?
Tri par clé personnalisé d'un tableau associatif non hiérarchique
En PHP, il n'est pas possible de trier un tableau associatif par ordre alphabétique ou numérique par défaut. Cependant, il est possible de créer un ordre de tri personnalisé basé sur un autre tableau.
Fonction pour implémenter un tri par clé personnalisé
Pour créer une fonction qui effectue un tri par clé personnalisé tri, vous pouvez utiliser les fonctions array_merge() ou array_replace(). Ces deux fonctions prennent deux tableaux en entrée : le premier tableau spécifie l'ordre souhaité des clés souhaitées, tandis que le deuxième tableau contient les données réelles que vous souhaitez trier.
Le code ci-dessous montre comment implémenter cette fonction :
function sortArrayByArray($inputArray, $sortKeysArray) { return array_merge(array_flip($sortKeysArray), $inputArray); }
Exemple d'utilisation
Considérez l'exemple suivant array :
$customer['address'] = '123 fake st'; $customer['name'] = 'Tim'; $customer['dob'] = '12/08/1986'; $customer['dontSortMe'] = 'this value doesnt need to be sorted';
Pour trier ce tableau en fonction de l'ordre des clés spécifié dans $sortKeysArray, vous pouvez utiliser la fonction sortArrayByArray() comme suit :
$sortKeysArray = ['name', 'dob', 'address']; $properOrderedArray = sortArrayByArray($customer, $sortKeysArray);
Le $properOrderedArray résultant sera le suivant :
[ 'name' => 'Tim', 'dob' => '12/08/1986', 'address' => '123 fake st', 'dontSortMe' => 'this value doesnt need to be sorted' ]
Notez que les clés sont triées selon le spécifié $sortKeysArray et les valeurs sont conservées. La clé non triable ("dontSortMe") est ajoutée à la fin du tableau.
En utilisant cette approche, vous pouvez réaliser un tri de clés personnalisé pour les tableaux associatifs non hiérarchiques en PHP, en garantissant que les clés du tableau sont commandé d'une manière spécifique.
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!