Bagaimana Mengisih Tatasusunan Berbilang Dimensi mengikut Kunci: Penyelesaian Langkah demi Langkah?

Barbara Streisand
Lepaskan: 2024-10-20 19:02:02
asal
579 orang telah melayarinya

How to Sort a Multidimensional Array by Key: A Step-by-Step Solution?

Mengisih Tatasusunan Berbilang Dimensi dengan Kunci: Panduan Komprehensif

Mengatur elemen tatasusunan berbilang dimensi dalam susunan tertentu boleh menjadi keperluan biasa dalam pengaturcaraan. Isih mengikut kunci tertentu menyediakan cara yang cekap untuk menyusun dan mendapatkan semula data.

Pertimbangkan tatasusunan berbilang dimensi berikut yang mengandungi jemputan:

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
    ))
Salin selepas log masuk

Untuk mengisih tatasusunan ini mengikut kekunci "status", kami boleh menggunakan fungsi usort() dan fungsi perbandingan tersuai.

Fungsi Perbandingan Tersuai

Fungsi perbandingan menentukan susunan unsur dengan membandingkan kekuncinya. Berikut ialah fungsi yang membandingkan berdasarkan kekunci "status":

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

Fungsi ini mengembalikan -1 apabila $a sepatutnya sebelum $b, 1 apabila $a sepatutnya datang selepas $b dan 0 apabila mereka adalah sama.

Isih Tatasusunan

Kita kini boleh mengisih tatasusunan menggunakan usort():

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

Ini akan mengisih tatasusunan mengikut kunci "status" dalam tertib menaik. Jika kita ingin membalikkan susunan, kita boleh menggunakan rsort():

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

Dengan menggunakan fungsi perbandingan yang disediakan dan fungsi pengisihan, kita boleh mengisih tatasusunan berbilang dimensi dengan mudah menggunakan sebarang kunci yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana Mengisih Tatasusunan Berbilang Dimensi mengikut Kunci: Penyelesaian Langkah demi Langkah?. 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!