Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Isih Tatasusunan Bersekutu mengikut Nilai Angka dan Kemudian mengikut Kekunci dalam PHP?

Bagaimanakah Saya Boleh Isih Tatasusunan Bersekutu mengikut Nilai Angka dan Kemudian mengikut Kekunci dalam PHP?

Susan Sarandon
Lepaskan: 2024-11-10 03:35:02
asal
1023 orang telah melayarinya

How Can I Sort an Associative Array by Numeric Values and Then by Keys in PHP?

Isih Tatasusunan Bersekutu mengikut Nilai Angka dan Kemudian mengikut Kekunci

Dalam PHP, anda mungkin menghadapi senario di mana anda perlu mengisih tatasusunan rata dan bersekutu berdasarkan nilai angka dan kemudian dengan kunci. Ini boleh menjadi tugas yang mencabar, terutamanya jika anda tidak biasa dengan teknik yang sesuai.

Satu pendekatan ialah menggunakan usort() untuk membandingkan nilai dan kunci secara serentak. Walau bagaimanapun, ini boleh menjadi penyelesaian yang membosankan dan kompleks.

Penyelesaian yang lebih mudah dan cekap ialah menggunakan fungsi array_values() dan array_keys() bersama-sama dengan array_multisort(). Teknik ini membolehkan anda mencapai pengisihan yang diingini dalam satu baris kod:

array_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags);
Salin selepas log masuk

Kod ini mengasingkan nilai berangka dan kunci ke dalam tatasusunan berasingan, mengisih nilai tersebut secara menurun dan menaik, masing-masing, dan kemudian menggabungkan hasilnya kembali ke dalam tatasusunan $arrTags asal.

$arrTags yang terhasil akan diisih mengikut tertib menurun mengikut nilai angka dan kemudian dengan tertib menaik mengikut kekunci, menyediakan format yang diingini:

orange (4)  
banana (3) 
apple (2) 
mango (2)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Tatasusunan Bersekutu mengikut Nilai Angka dan Kemudian mengikut Kekunci dalam PHP?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan