Isih objek dalam tatasusunan menggunakan PHP, mengekalkan nama kunci asal

PHPz
Lepaskan: 2024-05-04 17:12:02
asal
363 orang telah melayarinya

Jawapan: Dalam PHP, gunakan fungsi uasort() untuk mengisih objek dalam tatasusunan mengikut fungsi perbandingan yang ditentukan pengguna sambil mengekalkan nama kunci asal. Penerangan terperinci: Sintaks: uasort($array, $value_compare_func) peraturan fungsi perbandingan: menerima dua elemen tatasusunan sebagai parameter dan mengembalikan -1 jika parameter pertama kurang daripada parameter kedua Mengembalikan 0 jika dua parameter adalah sama yang pertama Parameter lebih besar daripada parameter kedua: Tentukan kelas Pelajar untuk mewakili objek pelajar Gunakan fungsi uasort() untuk mengisih tatasusunan $pelajar mengikut umur pelajar sambil mengekalkan nama kunci asal.

使用 PHP 对数组中的对象进行排序,保留原始键名

Gunakan PHP untuk mengisih $students array Sorting Objects

Dalam PHP, anda boleh menggunakan fungsi uasort() untuk mengisih objek dalam tatasusunan sambil mengekalkan nama kunci asal. Fungsi ini mengisih elemen tatasusunan dalam tertib menaik atau menurun menggunakan fungsi perbandingan yang dibekalkan pengguna. uasort() 函数对数组中的对象进行排序,同时保留原始键名。该函数使用用户提供的比较函数,将数组元素按升序或降序排序。

语法

uasort ( array &$array, callable $value_compare_func ) : bool

其中:

  • $array 是要排序的数组,传递引用以便直接修改
  • $value_compare_func
  • Sintaks

uasort (array &$array, boleh panggil $value_compare_func): bool

di mana:

  • $array ialah tatasusunan yang akan diisih, luluskan reference so Directly modify
  • $value_compare_func ialah fungsi perbandingan yang disediakan pengguna yang menerima dua nilai sebagai parameter dan mengembalikan hasil perbandingannya dalam susunan menaik atau menurun

      Fungsi perbandingan
    • Fungsi perbandingan hendaklah mengikut Peraturan berikut:
    • menerima dua elemen tatasusunan sebagai parameter
  • mengembalikan salah satu daripada nilai berikut:

-1: Parameter pertama kurang daripada parameter kedua

0: Kedua-dua parameter adalah sama

1: Yang pertama Parameter pertama lebih besar daripada parameter kedua

🎜Kes praktikal🎜🎜Pertimbangkan tatasusunan yang mengandungi objek pelajar, setiap pelajar mempunyai atribut nama dan umur. Kami ingin mengisih pelajar mengikut umur dalam tertib menaik sambil mengekalkan nama kunci asal. 🎜🎜Kod🎜
<?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);
Salin selepas log masuk
🎜Output🎜
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
        )
)
Salin selepas log masuk
🎜Seperti yang anda lihat, pelajar telah disusun mengikut umur dalam tertib menaik dan nama kunci asal masih ada. 🎜

Atas ialah kandungan terperinci Isih objek dalam tatasusunan menggunakan PHP, mengekalkan nama kunci asal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!