Maison > développement back-end > tutoriel php > Comment trier des tableaux multidimensionnels par champs de tableau internes en PHP ?

Comment trier des tableaux multidimensionnels par champs de tableau internes en PHP ?

Mary-Kate Olsen
Libérer: 2024-11-28 22:58:15
original
421 Les gens l'ont consulté

How to Sort Multidimensional Arrays by Inner Array Fields in PHP?

Tri des tableaux multidimensionnels par champs de tableau internes en PHP

Le tri des tableaux multidimensionnels par champs dans les tableaux internes peut être une tâche courante lorsque vous travaillez avec données structurées en PHP. Cela peut être utile pour organiser et récupérer efficacement les données.

Pour trier un tableau multidimensionnel selon l'un des champs du tableau interne, vous pouvez utiliser la fonction array_multisort() en conjonction avec array_column(). La fonction array_column() extrait une colonne de valeurs des tableaux internes, créant un tableau unidimensionnel qui peut ensuite être trié.

La syntaxe pour trier un tableau multidimensionnel par le champ "prix" des tableaux internes est la suivante :

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

Dans cet exemple, $yourArray représente le tableau multidimensionnel que vous souhaitez trier. La constante SORT_ASC spécifie l'ordre croissant pour le tri.

Voici une répartition détaillée du code :

  • array_column($yourArray, "price") : Cette ligne extrait le "prix" valeurs des tableaux internes, créant un tableau unidimensionnel de prix.
  • SORT_ASC : cette constante définit ordre croissant pour le tri. Vous pouvez utiliser SORT_DESC pour l'ordre décroissant.
  • $yourArray : Cette variable est passée comme dernier paramètre pour appliquer le tri au tableau multidimensionnel d'origine.

Après avoir exécuté ce code, le $yourArray sera trié par le champ "prix" par ordre croissant. Les clés du tableau externe ne seront pas conservées.

Remarque : En PHP 7 et versions ultérieures, l'utilisation de cette syntaxe peut provoquer des erreurs liées au passage des variables par référence. Pour éviter cela, vous pouvez utiliser une approche sur deux lignes :

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

Cependant, dans PHP 8, la syntaxe sur une ligne fonctionne à nouveau comme prévu.

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