Maison > Article > développement back-end > Trier les objets dans un tableau à l'aide de PHP, en préservant les noms de clés d'origine
Réponse : En PHP, utilisez la fonction uasort() pour trier les objets d'un tableau selon une fonction de comparaison définie par l'utilisateur tout en conservant les noms de clés d'origine. Description détaillée : Syntaxe : règles de la fonction de comparaison uasort($array, $value_compare_func) : accepte deux éléments du tableau comme paramètres et renvoie -1 si le premier paramètre est inférieur au deuxième paramètre. Renvoie 0 si les deux paramètres sont égaux. le premier Le paramètre est supérieur au deuxième paramètre. Cas pratique : Définir une classe Student pour représenter l'objet étudiant Utilisez la fonction uasort() pour trier le tableau $students en fonction de l'âge des étudiants tout en conservant les noms de clés d'origine.
Utilisez PHP pour trier le tableau $students Tri des objets
En PHP, vous pouvez utiliser la fonction uasort()
pour trier les objets dans un tableau tout en préservant les noms de clés d'origine. Cette fonction trie les éléments du tableau par ordre croissant ou décroissant à l'aide d'une fonction de comparaison fournie par l'utilisateur. uasort()
函数对数组中的对象进行排序,同时保留原始键名。该函数使用用户提供的比较函数,将数组元素按升序或降序排序。
uasort ( array &$array, callable $value_compare_func ) : bool
其中:
$array
是要排序的数组,传递引用以便直接修改$value_compare_func
uasort (array &$array, callable $value_compare_func): bool
où :
$array
est le tableau à trier, passez le référence donc Modifier directement $value_compare_func
est une fonction de comparaison fournie par l'utilisateur qui accepte deux valeurs comme paramètres et renvoie leurs résultats de comparaison par ordre croissant ou décroissant
<?php class Student { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $students = [ "John Doe" => new Student("John Doe", 25), "Jane Smith" => new Student("Jane Smith", 22), "Peter Parker" => new Student("Peter Parker", 28) ]; uasort($students, function ($a, $b) { return $a->age <=> $b->age; }); print_r($students);🎜Sortie🎜
Array ( [Jane Smith] => Student Object ( [name] => Jane Smith [age] => 22 ) [John Doe] => Student Object ( [name] => John Doe [age] => 25 ) [Peter Parker] => Student Object ( [name] => Peter Parker [age] => 28 ) )🎜Comme vous pouvez le constater, les étudiants ont été triés par âge par ordre croissant et les noms de clés d'origine sont toujours là. 🎜
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!