Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menyisih Tatasusunan Multidimensi Tersuai Berdasarkan Kunci Khusus dalam PHP?

Bagaimana untuk Menyisih Tatasusunan Multidimensi Tersuai Berdasarkan Kunci Khusus dalam PHP?

Linda Hamilton
Lepaskan: 2024-10-20 19:04:02
asal
752 orang telah melayarinya

How to Custom Sort Multidimensional Arrays Based on a Specific Key in PHP?

Isih Tersuai Tatasusunan Berbilang Dimensi

Mengisih tatasusunan berbilang dimensi boleh menjadi tugas biasa dalam pengaturcaraan. Artikel ini menunjukkan cara mengisih tatasusunan sedemikian berdasarkan kunci tertentu menggunakan fungsi PHP usort().

Memahami Tugasan

Pertimbangkan tatasusunan berbilang dimensi berikut di mana setiap elemen mewakili rekod:

<code class="php">Array (
    [0] => Array
        (
            [iid] => 1
            [invitee] => 174
            [nid] => 324343
            [showtime] => 2010-05-09 15:15:00
            [location] => 13
            [status] => 1
            [created] => 2010-05-09 15:05:00
            [updated] => 2010-05-09 16:24:00
        )

    [1] => Array
        (
            [iid] => 1
            [invitee] => 220
            [nid] => 21232
            [showtime] => 2010-05-09 15:15:00
            [location] => 12
            [status] => 0
            [created] => 2010-05-10 18:11:00
            [updated] => 2010-05-10 18:11:00
        ))</code>
Salin selepas log masuk

Isih mengikut Kekunci

Untuk mengisih tatasusunan ini mengikut kekunci "status", kita perlu mentakrifkan fungsi perbandingan yang menentukan susunan unsur.

<code class="php">function cmp($a, $b) {
    if ($a['status'] == $b['status']) {
        return 0;
    }
    return ($a['status'] < $b['status']) ? -1 : 1;
}</code>
Salin selepas log masuk

Fungsi ini membandingkan nilai "status" dua elemen. Jika nilai adalah sama, ia mengembalikan 0. Jika elemen pertama mempunyai nilai "status" yang lebih rendah daripada yang kedua, ia mengembalikan -1. Jika tidak, ia mengembalikan 1.

Menggunakan usort()

Kami kini boleh menggunakan fungsi usort() untuk mengisih tatasusunan menggunakan fungsi perbandingan kami:

<code class="php">usort($array, "cmp");</code>
Salin selepas log masuk

Ini akan mengisih tatasusunan dalam tertib menaik berdasarkan kekunci "status". Tatasusunan yang diubah suai akan mempunyai elemennya disusun semula dengan sewajarnya.

Menyesuaikan Perbandingan

Fungsi perbandingan boleh disesuaikan untuk mengisih tatasusunan berdasarkan sebarang kunci. Hanya ubah suai fungsi untuk membandingkan nilai kunci yang dikehendaki. Ini memberikan fleksibiliti dalam menyusun tatasusunan berbilang dimensi berdasarkan kriteria yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Menyisih Tatasusunan Multidimensi Tersuai Berdasarkan Kunci Khusus dalam 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