Bagaimana untuk Mengisih Tatasusunan Berbilang Dimensi dengan Kunci Tertentu Menggunakan usort() PHP?

Barbara Streisand
Lepaskan: 2024-10-20 19:08:30
asal
123 orang telah melayarinya

How to Sort a Multidimensional Array by a Specific Key Using PHP's usort()?

Mengisih Tatasusunan Berbilang Dimensi dengan Kunci Tertentu

Dalam bidang pengaturcaraan, pengisihan data ialah operasi asas, terutamanya apabila bekerja dengan tatasusunan . Apabila berurusan dengan tatasusunan berbilang dimensi, tugas mengisih mengikut kunci tertentu boleh timbul.

Mari kita pertimbangkan keperluan untuk mengisih tatasusunan berbilang dimensi berdasarkan kunci, diwakili sebagai [status] dalam tatasusunan contoh anda. Untuk mencapai matlamat ini, kita boleh memanfaatkan fungsi usort() dalam PHP, yang memerlukan fungsi perbandingan sebagai hujah.

Fungsi Perbandingan

Fungsi perbandingan untuk usort( ) menentukan susunan pengisihan dengan membandingkan dua elemen tatasusunan. Dalam kes ini, kami ingin membandingkan nilai [status] bagi dua tatasusunan a dan b:

function cmp($a, $b) {
    if ($a['status'] == $b['status']) {
        return 0;
    }
    return ($a['status'] < $b['status']) ? -1 : 1;
}
Salin selepas log masuk
  • Jika kedua-dua tatasusunan mempunyai nilai [status] yang sama, ia akan mengembalikan 0.
  • Jika [status] tatasusunan a kurang daripada tatasusunan b, ia mengembalikan -1.
  • Jika [status] tatasusunan a lebih besar daripada tatasusunan b, ia mengembalikan 1.

Isih Tatasusunan

Sekarang kita telah menentukan fungsi perbandingan kita, kita boleh menggunakannya untuk mengisih tatasusunan menggunakan usort():

usort($array, "cmp");
Salin selepas log masuk

Arahan ini akan mengubah suai $array asal di tempat, mengisihnya berdasarkan fungsi perbandingan.

Dengan mengubah fungsi perbandingan, anda boleh mengisih tatasusunan pada mana-mana kunci yang anda inginkan, menyediakan keupayaan pengisihan yang fleksibel untuk tatasusunan berbilang dimensi anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan Berbilang Dimensi dengan Kunci Tertentu Menggunakan usort() PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Artikel terbaru oleh pengarang
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!