Fungsi array_multisort dapat digunakan untuk mengurutkan array multidimensi berdasarkan beberapa kunci − Show
Contoh$my_list = array( array('ID' => 1, 'title' => 'data one', 'event_type' => 'one'), array('ID' => 2, 'title' => 'data two', 'event_type' => 'zero'), array('ID' => 3, 'title' => 'data three', 'event_type' => 'one'), array('ID' => 4, 'title' => 'data four', 'event_type' => 'zero') ); # The list of sorted columns and their data can be obtained. This will be passed to the array_multisort function. $sort = array(); foreach($my_list as $k=>$v) { $sort['title'][$k] = $v['title']; $sort['event_type'][$k] = $v['event_type']; } # It is sorted by event_type in descending order and the title is sorted in ascending order. array_multisort($sort['event_type'], SORT_DESC, $sort['title'], SORT_ASC,$my_list); Untuk PHP versi 5. 5. 0 - array_multisort(array_column($my_list, 'event_type'), SORT_DESC, array_column($my_list, 'title'), SORT_ASC, $my_list);_ KeluaranIni akan menghasilkan output berikut - array ( 0 => array ( 'ID' => 4, 'title' => 'data four', 'event_type' => 'zero', ), 1 => array ( 'ID' => 3, 'title' => 'data two', 'event_type' => 'zero', ), 2 => array ( 'ID' => 1, 'title' => 'data one', 'event_type' => 'one', ), 3 => array ( 'ID' => 2, 'title' => 'data three', 'event_type' => 'one', ), ) Anda dapat menggunakan fungsi ksort() untuk mengurutkan array bersarang dalam urutan menaik. Lihat contoh berikut- <pre> <?php $employees = array( 5 => array("Name" => "Peter", "Age" => 27), 3 => array("Name" => "Smith", "Age" => 30), 7 => array("Name" => "Jack", "Age" => 42) ); if(ksort($employees)) print_r($employees); ?> </pre> </pre> [id file wpdm_file=100] Keluaran Array( [3] => Array ( [Name] => Smith [Age] => 30 ) [5] => Array ( [Name] => Peter [Age] => 27 ) [7] => Array ( [Name] => Jack [Age] => 42 ) ) Bagaimana itu bekerja Baris 3-7 Lihat kunci dari array bersarang adalah 5, 3, dan 7 berturut-turut. Kami akan mengurutkan kunci ini dengan urutan menaik. Baris 9Setelah berhasil menyortir larik $employees[] dengan kunci, fungsi ksort() mengembalikan nilai true, dan mencetak larik yang diurutkan. Lihat bahwa kunci sekarang diurutkan dalam urutan menaik sebagai 3, 5, dan 7
Metode 2. Menggunakan fungsi krsort()Anda juga dapat menggunakan fungsi krsort() untuk mengurutkan kunci dari array multidimensi. Perbedaan fungsi sebelumnya dengan yang satu adalah fungsi krsort() akan mengurutkan kunci dengan urutan terbalik. Lihat contoh berikut- Urutan elemen array dapat diurutkan berdasarkan kunci menggunakan perulangan foreach(), tetapi ini akan menjadi proses yang rumit, dan waktu eksekusinya tinggi. Fungsi PHP array_multisort() menyediakan cara mudah untuk mengurutkan array multidimensi berdasarkan nilai kunci. Dalam cuplikan kode contoh ini, kunci first_name ditentukan untuk mengurutkan larik $records dalam urutan menaik Metode pertama untuk mengurutkan array adalah dengan menggunakan fungsi usort(). Berikut adalah kode yang dapat kita gunakan untuk melakukan pengurutan ini function cmp($a, $b) { return strcmp($a["name"], $b["name"]); } usort($vc_array, "cmp");_ Fungsi usort() mengurutkan Jika Anda ingin mengurutkan array berdasarkan nilai beberapa kunci, Anda mungkin harus menulis beberapa logika kompleks dalam fungsi panggilan balik untuk melakukannya. Namun, ada cara alternatif dengan menggunakan fungsi array_multisort(). array_multisort() dapat digunakan untuk mengurutkan beberapa array sekaligus, atau array multidimensi berdasarkan satu atau lebih dimensi Urutkan menggunakan array_multisort berdasarkan nilai 1 kunciSekarang mari kita lihat bagaimana menggunakan fungsi array_multisort() untuk melakukan penyortiran yang sama seperti yang kita lakukan menggunakan usort di atas foreach ($vc_array as $key => $row) { $vc_array_name[$key] = $row['name']; } array_multisort($vc_array_name, SORT_ASC, $vc_array); Pada kode di atas pertama-tama kita membuat array baru Urutkan menggunakan array_multisort berdasarkan nilai 2 kunciSekarang, mari kita lihat bagaimana kita dapat mengurutkan array yang sama berdasarkan nilai dari 2 kunci array. Dalam contoh ini, kami akan mengurutkan berdasarkan nilai naik, nama turun foreach ($vc_array as $key => $row) { $vc_array_value[$key] = $row['value']; $vc_array_name[$key] = $row['name']; } array_multisort($vc_array_value, SORT_ASC, $vc_array_name, SORT_DESC, $vc_array);_ Kode ini pertama mengurutkan foreach ($vc_array as $key => $row) { $vc_array_name[$key] = $row['name']; } array_multisort($vc_array_name, SORT_ASC, $vc_array);0 turun, foreach ($vc_array as $key => $row) { $vc_array_name[$key] = $row['name']; } array_multisort($vc_array_name, SORT_ASC, $vc_array);4 turun, $vc_array_name naik dan kemudian $vc_array menggunakan array yang diurutkan ini. Dengan menggunakan metode ini kita dapat mengurutkan array multi-dimensi tergantung pada nilai dari beberapa kunci yang berbeda. Metode ini dapat diperluas untuk mengurutkan array dengan sejumlah nilai
Bagaimana cara mengurutkan multiFungsi array_multisort() mengembalikan array yang diurutkan. Anda dapat menetapkan satu atau lebih array. Fungsi mengurutkan larik pertama, dan larik lainnya mengikuti, kemudian, jika dua atau lebih nilai sama, fungsi akan mengurutkan larik berikutnya, dan seterusnya.
Bagaimana Anda mengurutkan array dalam urutan menurun di PHP?sort() - mengurutkan array dalam urutan menaik. rsort() - mengurutkan array dalam urutan menurun. asort() - mengurutkan array asosiatif dalam urutan menaik, sesuai dengan nilainya.
Bagaimana Anda mengurutkan multiCara Menyortir Array Multi-dimensi berdasarkan Nilai Kunci di PHP . Gunakan fungsi PHP array_column() untuk mendapatkan nilai dari kolom kunci tertentu dalam array Gunakan fungsi PHP array_multisort() untuk mengurutkan array berdasarkan nilai kunci Fungsi PHP mana yang digunakan untuk mengurutkan multi array_multisort() adalah fungsi bawaan dalam PHP yang digunakan untuk mengurutkan beberapa array sekaligus atau array multidimensi dengan masing-masing . |