Comment trier un tableau d'objets par champ d'objet en PHP ? (exemple de code)

藏色散人
Libérer: 2023-04-05 16:46:02
original
8445 Les gens l'ont consulté

Cet article vous présentera la méthode d'implémentation de tri des tableaux d'objets par champs d'objet en PHP.

Comment trier un tableau d'objets par champ d'objet en PHP ? (exemple de code)

Étant donné un tableau d'objets, nous trions le tableau par objet et champ donné.

Méthode :

La fonction usort() est une fonction intégrée en PHP qui est utilisée pour trier conditionnellement un tableau d'éléments à l'aide d'une fonction de comparaison donnée. La fonction usort() peut également être utilisée pour trier un tableau d'objets par champs d'objet. Lors de l'appel de la fonction usort(), le premier paramètre est utilisé comme tableau d'objets et le deuxième paramètre est utilisé comme fonction de comparaison. Les deux objets du tableau doivent être comparés sur cette base.

Exemple de code PHP :

<?php 
  
$gfg_array = array( 
    array( 
        &#39;score&#39; => &#39;100&#39;, 
        &#39;name&#39; => &#39;Sam&#39;, 
        &#39;subject&#39; => &#39;Data Structures&#39;
    ), 
    array( 
        &#39;score&#39; => &#39;50&#39;, 
        &#39;name&#39; => &#39;Tanya&#39;, 
        &#39;subject&#39; => &#39;Advanced Algorithms&#39;
    ), 
    array( 
        &#39;score&#39; => &#39;75&#39;, 
        &#39;name&#39; => &#39;Jack&#39;, 
        &#39;subject&#39; => &#39;Distributed Computing&#39;
    ) 
); 
  
class geekSchool {  
    var $score, $name, $subject; 
    
    public function geekSchool($data) { 
        $this->name = $data[&#39;name&#39;]; 
        $this->score = $data[&#39;score&#39;]; 
        $this->subject = $data[&#39;subject&#39;]; 
    } 
} 
  
function data2Object($data) { 
    $class_object = new geekSchool($data); 
    return $class_object; 
}  

function comparator($object1, $object2) { 
    return $object1->score > $object2->score; 
} 
  
$school_data = array_map(&#39;data2Object&#39;, $gfg_array); 
  
print("原始对象数组:\n"); 
  
print_r($school_data); 
  
usort($school_data, &#39;comparator&#39;); 
  
print("\n对象数组排序:\n"); 
  
print_r($school_data);
Copier après la connexion

Sortie :

原始对象数组:
Array
(
    [0] => geekSchool Object
        (
            [score] => 100
            [name] => Sam
            [subject] => Data Structures
        )

    [1] => geekSchool Object
        (
            [score] => 50
            [name] => Tanya
            [subject] => Advanced Algorithms
        )

    [2] => geekSchool Object
        (
            [score] => 75
            [name] => Jack
            [subject] => Distributed Computing
        )

)

对象数组排序:
Array
(
    [0] => geekSchool Object
        (
            [score] => 50
            [name] => Tanya
            [subject] => Advanced Algorithms
        )

    [1] => geekSchool Object
        (
            [score] => 75
            [name] => Jack
            [subject] => Distributed Computing
        )

    [2] => geekSchool Object
        (
            [score] => 100
            [name] => Sam
            [subject] => Data Structures
        )

)
Copier après la connexion

Recommandations associées : "PHP Tutoriel

Cet article est une introduction à la méthode de tri des tableaux d'objets par champs d'objets en PHP. J'espère qu'il sera utile aux amis dans le besoin !

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:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!