Tutorial PHP: Cara Mengurutkan Array (Array Sort)

Dalam pembuatan kode program PHP, bisa jadi ada kasus kita harus mengurutkan array. Ini bisa dibuat manual dengan menerapkan berbagai algoritma sorting. Tapi untungnya PHP sudah menyediakan berbagai function bawaan yang bisa dipakai untuk keperluan tersebut.

Di tutorial kali ini kita akan bahas berbagai cara yang disediakan PHP untuk proses array sorting atau pengurutan array.


Cara Mengurutkan Array di PHP

Bahasa PHP menyediakan banyak function untuk pengurutan array, berikut diantaranya:

  • sort(): Mengurutkan array berdasarkan nilai / value, dari kecil ke besar.
  • rsort(): Mengurutkan array berdasarkan nilai / value, dari besar ke kecil.
  • asort(): Mengurutkan array berdasarkan nilai / value, dari kecil ke besar.
  • arsort(): Mengurutkan array berdasarkan nilai / value, dari besar ke kecil.
  • ksort(): Mengurutkan array berdasarkan key / kunci, dari kecil ke besar.
  • krsort(): Mengurutkan array berdasarkan key / kunci, dari besar ke kecil.

Kita akan bahas dengan berbagai contoh kode program.


Function sort()

Fungsi sort() akan mengurutkan array secara ascending, yakni mulai dari nilai terkecil ke terbesar. Array yang ingin diurutkan di input sebagai argument pertama. Berikut contoh penggunaannya:

<?php 
  $arr = [1, 5, 3, 2, 4];
  sort($arr);
  
  echo "<pre>";
  print_r($arr);
  echo "</pre>";

Hasil kode program:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Function rsort()

Fungsi rsort() akan mengurutkan array secara descending, yakni dari nilai terbesar ke terkecil. Array yang ingin diurutkan di input sebagai argument pertama. Berikut contoh penggunaannya:

<?php 
  $arr = [1, 5, 3, 2, 4];
  rsort($arr);
  
  echo "<pre>";
  print_r($arr);
  echo "</pre>";

Hasil kode program:

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)

Function asort()

Fungsi asort() mirip seperti fungsi sort(), yakni akan mengurutkan array secara ascending berdasarkan nilai. Tetapi juga mempertahankan pasangan key dan value asal. Berikut contoh penggunaannya dan perbedaan antara function sort() dengan asort():

<?php 
  $arr1 = ['c' => 3, 'a' => 1, 'e' => 5, 'b' => 2, 'd' => 4];
  $arr2 = $arr1;

  sort($arr1);
  asort($arr2);

  echo "<pre>";
  print_r($arr1);
  print_r($arr2);
  echo "</pre>";

Hasil kode program:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
    [a] => 1
    [b] => 2
    [c] => 3
    [d] => 4
    [e] => 5
)

Dalam contoh ini, variabel $arr1 dan $arr2 berisi array yang sama. Namun ketika nilainya diurutkan menggunakan function sort(), key array akan dihapus dan dibuat ulang. Secara tidak langsung ini juga mengkonversi associative array $arr1 menjadi array biasa. Sedangkan function asort() tetap mempertahankan key array.


Function arsort()

Fungsi arsort() akan mengurutkan array secara descending berdasarkan nilai dan juga mempertahankan pasangan key dan value asal. Berikut contoh penggunaan dan perbedaan antara function rsort() dengan arsort():

<?php 
  $arr1 = ['c' => 3, 'a' => 1, 'e' => 5, 'b' => 2, 'd' => 4];
  $arr2 = $arr1;

  rsort($arr1);
  arsort($arr2);

  echo "<pre>";
  print_r($arr1);
  print_r($arr2);
  echo "</pre>";

Hasil kode program:

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
Array
(
    [e] => 5
    [d] => 4
    [c] => 3
    [b] => 2
    [a] => 1
)

Dalam contoh ini, variabel $arr1 dan $arr2 berisi array yang sama. Namun ketika nilainya diurutkan menggunakan function rsort(), key array akan terhapus dan dibuat ulang. Secara tidak langsung ini juga mengkonversi associative array $arr1 menjadi array biasa. Sedangkan function arsort() tetap mempertahankan key array.


Function ksort()

Fungsi ksort() bisa dipakai untuk mengurutkan array secara ascending (dari nilai terbesar ke terkecil) berdasarkan key atau kunci array. Berikut contoh penggunaannya:

<?php 
  $arr = ['c' => 13, 'a' => 10, 'e' => 50, 'b' => 24, 'd' => 14];
  ksort($arr);

  echo "<pre>";
  print_r($arr);
  echo "</pre>";

Hasil kode program:

Array
(
    [a] => 10
    [b] => 24
    [c] => 13
    [d] => 14
    [e] => 50
)

Perhatikan bahwa isi array $arr diurutkan berdasarkan key-nya, tidak memperhitungkan nilai atau value dari element tersebut.


Function krsort()

Fungsi krsort() bisa dipakai untuk mengurutkan array secara descending (dari nilai terkecil ke terbesar) berdasarkan key atau kunci array. Berikut contoh penggunaannya:

<?php 
  $arr = ['c' => 13, 'a' => 10, 'e' => 50, 'b' => 24, 'd' => 14];;
  krsort($arr);

  echo "<pre>";
  print_r($arr);
  echo "</pre>";

Hasil kode program:

Array
(
    [e] => 50
    [d] => 14
    [c] => 13
    [b] => 24
    [a] => 10
)

Perhatikan bahwa isi array $arr diurutkan berdasarkan key-nya, tidak memperhitungkan nilai atau value dari element tersebut.


Demikian bahasan singkat terkait cara mengurutkan array di PHP. Terdapat 6 function bawaan yang bisa dipakai tergantung kebutuhan. Semoga tutorial ini bisa bermanfaat.

Add Comment