Setiap entri dalam array asosiatif dicirikan oleh pasangan nilai kunci yang unik. Array dapat berisi tipe data tunggal milik variabel atau array lain sebagai elemennya. Ada beberapa cara untuk mengurutkan array dari array asosiatif berdasarkan nilai kunci yang ditentukan.
Pendekatan 1: Menggunakan array_multisort() metode
Itu array_multisort() metode yang digunakan untuk mengembalikan array yang diurutkan. Kunci string akan dipertahankan, tetapi kunci numerik diindeks ulang, dan dimulai dari 0 dan bertambah 1. Fungsi ini dapat mengurutkan beberapa array sekaligus atau array multidimensi.
array_multisort(array, sort_order, sort_type);
Contoh: Dalam pendekatan ini, awalnya sebuah array dari array asosiatif didefinisikan. Kemudian, array baru dibuat untuk menyimpan kunci sebagai atribut dari array utama yang ingin kita sortir. Metode array_multisort() kemudian diterapkan ke array yang dibuat ini dan jenis pengurutan yang diinginkan. Dalam hal dua atau lebih kunci yang sama, nilai muncul dalam urutan penyimpanan.
PHP
|
Keluaran:
Modified Array : Array ( [0] => Array ( [Name] => AMAN [marks] => 55 ) [1] => Array ( [Name] => ANjali [marks] => 98 ) [2] => Array ( [Name] => ASHIKA [marks] => 67 ) [3] => Array ( [Name] => BASHIKA [marks] => 87 ) [4] => Array ( [Name] => YASHIKA [marks] => 22 ) [5] => Array ( [Name] => YASHIKA [marks] => 100 ) [6] => Array ( [Name] => YASHITA [marks] => 24 ) )
Penjelasan: Array utama diurutkan berdasarkan nama dalam urutan menaik.
Pendekatan 2: Menggunakan usort() metode
Metode ini mengurutkan array yang diberikan menggunakan fungsi perbandingan yang ditentukan pengguna. Fungsi yang ditentukan pengguna harus mengembalikan integer <, =, atau > daripada 0 jika argumen pertama adalah <, =, atau > daripada argumen kedua. Metode ini memberikan kunci baru ke elemen dalam array. Itu hanya menghapus kunci yang ada yang mungkin telah ditetapkan, bukan hanya sekadar menyusun ulang kunci.
usort(array, user_def_func)
Contoh:
PHP
|
Keluaran: Metode DescSort() mengurutkan tanda dalam urutan menurun.
Modified Array : Array ( [0] => Array ( [Name] => YASHIKA [marks] => 100 ) [1] => Array ( [Name] => ANjali [marks] => 98 ) [2] => Array ( [Name] => BASHIKA [marks] => 87 ) [3] => Array ( [Name] => ASHIKA [marks] => 67 ) [4] => Array ( [Name] => AMAN [marks] => 55 ) [5] => Array ( [Name] => YASHITA [marks] => 24 ) [6] => Array ( [Name] => YASHIKA [marks] => 22 ) )