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

醉折花枝作酒筹
醉折花枝作酒筹avant
2021-06-25 16:09:033141parcourir

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);

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)

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'=>'王五'
            ]
        ];

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);

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)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer