Adi Sumaryadi - Bicara IT dan Internet

Mengurutkan Array Multidimensi Menggunakan PHP Menggunakan Key Tertentu

Oleh Adi Sumaryadi pada Rabu, 18 Mei 2022 12:19 WIB

Terkadang kita membutuhkan sort ulang atau mengurutkan ulang sebuah array dalam PHP, hal ini berfungsi untuk mengurutkan ulang setiap baris didalam array, baik ascending maupun descending. Lalu bagaimana caranya?

Sebagai contoh kita lihat terlebih dulu array yang mislnya didapat dari sebuah Query SQL dan hasilnya seperti ini:

Array
(
    [0] => Array
        (
            [title] => Mawar
            [order] => 3
        )

    [1] => Array
        (
            [title] => Rose
            [order] => 2
        )

    [2] => Array
        (
            [title] => Kenanga
            [order] => 1
        )
)

Dari array diatas dapat kita kita liat bahwa jumlah order terurut dari besar ke kecil yaitu dari 3-1, nah lalu bagaimana untuk mengurutkan ulang berdasarkan key order? Terlebih dahulu kita siapkan fungsi yang bisa anda masukan kedalam kelas yang anda buat atau dalam kumpulan fungsi bila anda menggunakan PHP Native.

function aasort(&$arr, $col, $dir) {
    $sort_col = array();
    foreach ($arr as $key => $row) {
        $sort_col[$key] = $row[$col];
    }
    array_multisort($sort_col, $dir, $arr);
}

Nah dari fungsi diatas kita bisa gunakan dengan cara seperti ini:
aasort($array,$kolom,$dir)

Variable $dir harus diisi dengan 2 isian pilihan yaitu SORT_DESC untuk descending dan SORT_ASC untuk ascending, maka penggunaannya dapat dicontohkan sebagai berikut:

aasort($array,"order",SORT_ASC)  //untuk shorting array menggunakan kolom/key order secara ascending 
aasort($array,"order",SORT_DESC)  //untuk shorting array menggunakan kolom/key order secara descending


Semoga bermanfaat