Hari 22: Array Multidimensi & Sorting
60 min
Last updated 09 Apr 2026
Array Multidimensi
$inventaris = [
["kode" => "P001", "nama" => "Laptop", "stok" => 10, "harga" => 8500000],
["kode" => "P002", "nama" => "Mouse", "stok" => 50, "harga" => 150000],
["kode" => "P003", "nama" => "Keyboard", "stok" => 30, "harga" => 350000],
["kode" => "P004", "nama" => "Monitor", "stok" => 8, "harga" => 2500000],
];
// Urutkan berdasarkan harga (descending)
usort($inventaris, fn($a, $b) => $b["harga"] <=> $a["harga"]);
foreach ($inventaris as $p) {
$total = $p["stok"] * $p["harga"];
printf("%-10s Rp%10s (stok: %d)\n",
$p["nama"],
number_format($total, 0, ",", "."),
$p["stok"]
);
}
array_column & array_combine
// Ekstrak satu kolom
$nama_semua = array_column($inventaris, "nama");
// ["Laptop", "Mouse", ...]
// Gunakan kolom sebagai index
$indexed = array_column($inventaris, null, "kode");
echo $indexed["P002"]["nama"]; // Mouse
💡
Notice: <=> adalah spaceship operator: return -1, 0, atau 1. Berguna untuk sorting.
Assignment
Dari array produk (nama, harga, qty), hitung total per produk (harga*qty), filter yang totalnya > 1000000, urutkan descending, tampilkan nama dan total (format Rp).
Expected output:
Laptop: Rp 17,000,000
Monitor: Rp 3,200,000
PHP
index.php
Solution
Output