Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengisih Tatasusunan Berbilang Dimensi dengan Kunci Tertentu Menggunakan usort() PHP?

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

Barbara Streisand
Barbara Streisandasal
2024-10-20 19:08:30126semak imbas

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;
}
  • 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");

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!

Kenyataan:
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