Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengisih Tatasusunan PHP Berbilang Dimensi mengikut Nilai Tatasusunan Dalam?

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

DDD
DDDasal
2024-11-03 02:01:29558semak imbas

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'],
];

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

$sortedList = array_sort($list, 'name', SORT_ASC);

Tatasusunan $sortedList yang terhasil akan diisih seperti berikut:

[
    ['type' => 'suite', 'name' => 'A-Name'],
    ['type' => 'suite', 'name' => 'B-Name'],
    ['type' => 'suite', 'name' => 'C-Name'],
]

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!

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