Maison > développement back-end > tutoriel php > Comment puis-je trier un tableau PHP en fonction d'un ordre de clés prédéfini ?

Comment puis-je trier un tableau PHP en fonction d'un ordre de clés prédéfini ?

Barbara Streisand
Libérer: 2024-12-17 04:25:24
original
319 Les gens l'ont consulté

How Can I Sort a PHP Array Based on a Predefined Key Order?

Personnalisation du tri des tableaux à l'aide d'un tableau de référence

En PHP, les tableaux peuvent être triés de différentes manières, mais il peut être difficile de les trier dans un ordre spécifique basé sur un tableau différent. Cet article fournit une solution à ce problème, expliquant comment trier un tableau associatif plat en fonction d'un ordre de clés prédéfini.

La solution proposée exploite les fonctions array_merge ou array_replace. Ces fonctions prennent deux tableaux comme arguments : le premier spécifie l'ordre souhaité (sous forme de paires clé-valeur) et le second contient les données réelles à trier.

Voici comment fonctionnent ces fonctions :

array_merge : Il fusionne les deux tableaux en commençant par le tableau de commande et en écrasant ou en ajoutant des clés avec les données du tableau de commande réel. array.

array_replace : Il fait la même chose que array_merge mais écrase uniquement les clés existantes.

Considérez l'exemple suivant :

$customer['address'] = '123 fake st';
$customer['name'] = 'Tim';
$customer['dob'] = '12/08/1986';
$customer['dontSortMe'] = 'this value doesnt need to be sorted';

$properOrderedArray = array_merge(array_flip(array('name', 'dob', 'address')), $customer);
Copier après la connexion

Dans ce Par exemple, array_flip crée un tableau où les éléments (« nom », « dob », « adresse ») deviennent des clés et les clés deviennent valeurs. Cela fait office de tableau de commande. En fusionnant ce tableau de commande avec $customer, le $properOrderedArray est généré avec l'ordre de clé souhaité tout en préservant les données réelles.

Le $properOrderedArray résultant serait :

array(
  'name'       => 'Tim',
  'dob'        => '12/08/1986',
  'address'    => '123 fake st',
  'dontSortMe' => 'this value doesnt need to be sorted')
Copier après la connexion

Cette approche permet pour un tri flexible de tableaux associatifs plats basés sur n'importe quel tableau d'ordre prédéfini, garantissant l'ordre correct des clés et de leurs valeurs correspondantes.

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