Sorting array multi demensi
mensorting array, terutama untuk array multi demensi. Dari forum id-php
pernah di bahas mengenai hal ini, saya melihat coding yang diberikan
sangat kompleks. Dalam pikiran saya apakah mungkin PHP memiliki fungsi
yang built-in ?
Setelah mengutak atik manual php, awalnya saya membuka fungsi asort().
Kemudian saya temukan fungsi array_multisort(). Menarik jadinya.
<?php
// Multi-Demensi Array assoc Items
$items = array
(
'januari' => array( 'qty' => 100, 'rp' => 10000),
'februari' => array( 'qty' => 120, 'rp' => 12000),
'maret' => array( 'qty' => 32, 'rp' => 3200),
'april' => array( 'qty' => 210, 'rp' => 22000),
'mei' => array( 'qty' => 150, 'rp' => 25000),
'juni' => array( 'qty' => 15, 'rp' => 15000),
);
echo '<pre>';
print_r($items);
function qty_sort($a) {
return $a['qty'];
}
function rp_sort($a) {
return $a['rp'];
}
// Mensortir berdasarkan Qty DESC
$array_sort = array_map('qty_sort', $items);
array_multisort($array_sort,SORT_DESC,$items);
print_r($items);
// Mensortir berdasarkan Rp DESC
$array_sort = array_map('rp_sort', $items);
array_multisort($array_sort,SORT_DESC,$items);
print_r($items);
echo '</pre>';
?>
Konsep array
BalasHapusArray adalah kumpulan beberapa data yang disimpan dalam satu
variabel. Jadi, berbeda dengan variabel sebelumnya yang hanya
menyimpan satu nilai saja, array dapat menampung lebih dari satu nilai.
Tiap nilai dalam array (disebut elemen) diakses dengan menggunakan
index. PHP mengenal dua macam index, yaitu index numerik dan index
asosiatif. Index numerik menggunakan angka untuk menandai tiap
elemen, sedangkan index asosiatif memberi nama untuk masing-masing
elemen.
Semoga bermanfaat.
Salam dari kami :
KOMUNITAS PELAJAR ILMU KOMPUTER INDONESIA
ini dia yang aku cari...contoh sorting array multidimensi. tengkyu... :D
BalasHapus