Maison > développement back-end > Problème PHP > Comment utiliser la fonction array_multisort en PHP pour trier un tableau par champs spécifiés

Comment utiliser la fonction array_multisort en PHP pour trier un tableau par champs spécifiés

醉折花枝作酒筹
Libérer: 2023-03-10 21:56:01
avant
3109 Les gens l'ont consulté

Certaines fonctions en PHP peuvent être utilisées pour trier des tableaux. Mais pour un tableau avec plusieurs champs, comment trier par champs spécifiés ? Vous pouvez utiliser la fonction array_multisort pour trier par champs spécifiés ?

Comment utiliser la fonction array_multisort en PHP pour trier un tableau par champs spécifiés

Certaines fonctions en PHP peuvent être utilisées pour trier des tableaux.

  • sort() - Trier le tableau par ordre croissant

  • rsort() - Trier le tableau par ordre décroissant

  • asort() - Trier le tableau par ordre croissant selon la valeur du tableau associatif

  • ksort() - Trier le tableau par ordre croissant selon la clé du tableau associatif

  • arsort() - Trier un tableau par ordre décroissant en fonction des valeurs d'un tableau associatif

  • krsort( ) - Trier un tableau par ordre décroissant en fonction des clés d'un tableau associatif

Par exemple :

        $arr=['green','car','apple','book'];
        sort($arr);
        var_dump($arr);
Copier après la connexion

peut obtenir le résultat du tri :

array (size=4)
  0 => string 'apple' (length=5)
  1 => string 'book' (length=4)
  2 => string 'car' (length=3)
  3 => string 'green' (length=5)
Copier après la connexion

Mais pour un tableau avec plusieurs champs, comment trier par le champ spécifié Quoi ? Par exemple, le tableau suivant :

        $arr=[
            [
                'age'=>50,
                'name'=>'张三'
            ],
            [
                'age'=>18,
                'name'=>'李四'
            ],
            [
                'age'=>27,
                'name'=>'王五'
            ]
        ];
Copier après la connexion

Comment trier par âge ou par nom On peut utiliser la fonction array_multisort pour trier par ? champs spécifiés.

 array_multisort(array_column($arr,'age'),SORT_ASC,$arr);
var_dump($arr);
Copier après la connexion

Imprimer les résultats

array (size=3)
  0 => 
    array (size=2)
      'age' => int 18
      'name' => string '李四' (length=6)
  1 => 
    array (size=2)
      'age' => int 27
      'name' => string '王五' (length=6)
  2 => 
    array (size=2)
      'age' => int 50
      'name' => string '张三' (length=6)
Copier après la connexion

De cette façon, il est trié, c'est-à-dire que lors du tri à l'aide de la fonction array_multisort, utilisez array_column pour trier la colonne spécifiée par le tableau pour extraire le premier paramètre et mettez la constante de tri. Si vous placez le deuxième paramètre et le tableau dans le troisième paramètre, vous pouvez trier selon le champ spécifié. SORT_ASC est par ordre croissant, SORT_DESC est par ordre décroissant.

Apprentissage recommandé : Tutoriel vidéo php

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!

Étiquettes associées:
php
source:segmentfault.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal