Maison >développement back-end >tutoriel php >Comment puis-je trier de manière personnalisée les clés d'un tableau associatif PHP ?

Comment puis-je trier de manière personnalisée les clés d'un tableau associatif PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-21 03:56:10706parcourir

How Can I Custom Sort the Keys of a PHP Associative Array?

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!

Déclaration:
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