Bagaimana untuk Mengisih Tatasusunan Berbilang Dimensi Berdasarkan Nilai Tatasusunan Dalam?
Banyak pembangun PHP menghadapi tugas menyusun tatasusunan berbilang dimensi berdasarkan pada kunci tertentu dalam tahap bersarang. Soalan ini meneroka senario yang serupa, di mana jadual hash perlu diisih mengikut kekunci "nama" dua tahap dalam.
Percubaan Mengisih dengan Fungsi Asli
Pengguna mencuba pelbagai fungsi asli seperti ksort, sort, dan usort, tetapi tiada satu pun yang nampaknya menghasilkan hasil yang diinginkan. Isu timbul kerana fungsi ini hanya mengisih berdasarkan kekunci peringkat luar.
Menggunakan Fungsi Isih Tersuai
Satu pendekatan yang dicadangkan dalam jawapan adalah untuk mencipta fungsi pengisihan tersuai. Matlamatnya adalah untuk mengekstrak nilai yang dikehendaki daripada tatasusunan dalaman dan mencipta tatasusunan berasingan untuk diisih. Pendekatan ini boleh menjadi rumit dan terdedah kepada ralat.
Fungsi Isih yang Lebih Komprehensif
Penyelesaian yang disediakan, array_sort(), menangani cabaran ini dengan cekap. Ia berulang melalui tatasusunan input, mengekstrak nilai yang berkaitan ke dalam tatasusunan boleh diisih. Kemudian, tatasusunan boleh diisih diisih menggunakan fungsi pengisihan PHP standard. Akhir sekali, kekunci yang diisih dipetakan kembali ke tatasusunan asal, menghasilkan output yang diisih yang diingini.
Contoh Penggunaan
Seperti yang ditunjukkan dalam coretan kod, array_sort( ) fungsi boleh digunakan untuk mengisih tatasusunan cincang berdasarkan kunci tertentu. Output yang diisih mengekalkan struktur kunci asal.
Dengan melaksanakan fungsi array_sort(), pembangun PHP boleh memudahkan tugas menyusun tatasusunan berbilang dimensi berdasarkan nilai tatasusunan dalaman, menawarkan penyelesaian yang lebih komprehensif dan boleh dipercayai daripada asli fungsi pengisihan.
Atas ialah kandungan terperinci Bagaimana Mengisih Tatasusunan Berbilang Dimensi Berdasarkan Nilai Tatasusunan Dalaman dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!