Maison > développement back-end > tutoriel php > Comment trier un tableau PHP multidimensionnel selon la valeur d'un champ interne ?

Comment trier un tableau PHP multidimensionnel selon la valeur d'un champ interne ?

Linda Hamilton
Libérer: 2024-12-18 16:33:12
original
613 Les gens l'ont consulté

How to Sort a Multidimensional PHP Array by an Inner Field's Value?

Tri d'un tableau multidimensionnel par champ interne en PHP

Supposons que nous ayons un tableau multidimensionnel ressemblant à une table de base de données, avec chaque élément de tableau externe représentant une ligne et chaque tableau interne contenant les noms et valeurs des champs. Nous souhaitons trier les lignes (éléments externes du tableau) selon un champ spécifique, tel que "prix".

Pour y parvenir, nous pouvons utiliser la fonction PHP suivante :

array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);
Copier après la connexion

Ceci La ligne atteint le résultat souhaité de manière concise. La fonction array_multisort() prend trois arguments :

  1. array_column($yourArray, "price") - Extrait les valeurs du champ "price" de chaque tableau interne dans un tableau unidimensionnel.
  2. SORT_ASC - Spécifie que le champ "prix" doit être trié par ordre croissant.
  3. $yourArray - Le tableau multidimensionnel à trier.

En enchaînant ces fonctions ensemble, nous pouvons trier efficacement les éléments externes du tableau par le champ "prix". Il est important de noter que ce processus écrase la variable $yourArray d'origine, il est donc conseillé d'attribuer le résultat à une variable différente si l'ordre d'origine doit être préservé.

Mises à jour :

  • Dans les versions récentes de PHP 7, passer une variable par référence à l'aide de "&" peut provoquer des erreurs. Pour résoudre ce problème, la solution de contournement sur deux lignes suivante peut être utilisée :
$col = array_column($yourArray, "price");
array_multisort($col, SORT_ASC, $yourArray);
Copier après la connexion
  • PHP 8 élimine ce problème, permettant d'utiliser la solution sur une seule ligne sans aucun ajustement.

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