Bagaimana untuk Mengisih Tatasusunan PHP Berbilang Dimensi mengikut Nilai Tatasusunan Dalam?

DDD
Lepaskan: 2024-11-03 02:01:29
asal
556 orang telah melayarinya

How to Sort a Multi-Dimensional PHP Array by Inner Array Values?

Mengisih Tatasusunan PHP Berbilang Dimensi mengikut Nilai Tatasusunan Dalam

Mengisih tatasusunan berbilang dimensi dalam PHP ialah tugas biasa dalam pemprosesan data dan boleh menjadi mencabar apabila kriteria isihan terletak dalam tatasusunan bersarang. Dalam artikel ini, kami akan meneroka cara mengisih tatasusunan PHP berdasarkan nilai khusus dalam tatasusunan dalam, khususnya kekunci "nama".

Untuk menangani cabaran ini, kami akan memperkenalkan fungsi pengisihan tersuai yang dipanggil array_sort . Fungsi ini mengambil tatasusunan input, kunci untuk mengisih mengikut dan susunan isihan pilihan (menaik atau menurun).

Fungsi array_sort pada mulanya mencipta tatasusunan baharu untuk mengisih dan hasil yang diisih. Ia berulang melalui tatasusunan input, mengekstrak pasangan nilai kunci yang ditentukan ke dalam tatasusunan pengisihan. Ia kemudian menggunakan algoritma pengisihan yang sesuai (asort untuk menaik atau arsort untuk menurun) pada tatasusunan isihan.

Akhir sekali, fungsi membina semula tatasusunan yang diisih dengan memberikan nilai tatasusunan asal kepada kekunci yang baru diisih. Tatasusunan yang terhasil akan diisih berdasarkan kekunci tatasusunan dalam yang ditentukan.

Penggunaan:

Untuk menggunakan fungsi array_sort, anda boleh mengikuti langkah berikut:

  1. Panggil fungsi array_sort dengan tatasusunan input, kunci untuk mengisih mengikut dan susunan isihan yang diingini (pilihan).
  2. Simpan tatasusunan yang diisih dalam pembolehubah baharu.
  3. Tatasusunan yang diisih kini boleh diakses melalui pembolehubah baharu.

Contoh:

Pertimbangkan tatasusunan input berikut:

$list = [
    ['type' => 'suite', 'name' => 'A-Name'],
    ['type' => 'suite', 'name' => 'C-Name'],
    ['type' => 'suite', 'name' => 'B-Name'],
];
Salin selepas log masuk

Untuk mengisih tatasusunan mengikut abjad dengan kekunci nama, anda akan menggunakan:

$sortedList = array_sort($list, 'name', SORT_ASC);
Salin selepas log masuk

Tatasusunan $sortedList yang terhasil akan diisih seperti berikut:

[
    ['type' => 'suite', 'name' => 'A-Name'],
    ['type' => 'suite', 'name' => 'B-Name'],
    ['type' => 'suite', 'name' => 'C-Name'],
]
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan PHP Berbilang Dimensi mengikut Nilai Tatasusunan Dalam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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