3 Jenis Array PHP
- Indexed Array
- Associative Array
- Multidimensional
<?php
// 1. Indexed Array
$skills = ["PHP", "MySQL", "HTML", "CSS"];
echo $skills[0]; // PHP
echo $skills[2]; // HTML
// 2. Associative Array
$user = [
"nama" => "Andi Pratama",
"umur" => 28,
"kota" => "Jakarta",
];
echo $user["nama"]; // Andi Pratama
echo $user["umur"]; // 28
// 3. Multidimensional Array
$users = [
["nama" => "Andi", "umur" => 28],
["nama" => "Budi", "umur" => 25],
["nama" => "Cici", "umur" => 30],
];
echo $users[0]["nama"]; // Andi
echo $users[2]["umur"]; // 30
?>
array_map() — Transformasi Setiap Elemen
Gunakan array_map() untuk mengubah setiap elemen array tanpa perlu menulis loop. Hasilnya adalah array baru — array asli tidak berubah.
// 02_array_map.php
<?php
$harga = [10000, 25000, 50000, 75000];
// Cara lama — loop manual (verbose!)
$diskon_lama = [];
foreach ($harga as $h) {
$diskon_lama[] = $h * 0.9; // diskon 10%
}
// Cara modern — array_map() (ekspresif!)
$diskon = array_map(fn($h) => $h * 0.9, $harga);
print_r($diskon);
// [9000, 22500, 45000, 67500]
// Contoh lain: uppercase semua nama
$nama = ["andi", "budi", "cici"];
$upper = array_map('strtoupper', $nama);
// ["ANDI", "BUDI", "CICI"]
?>
array_filter() — Saring Data yang Relevan
Gunakan array_filter() untuk menyaring elemen array berdasarkan kondisi. Sangat berguna untuk memfilter data dari database atau API.
// 03_array_filter.php
<?php
$produk = [
["nama" => "Laptop", "stok" => 5, "aktif" => true],
["nama" => "Mouse", "stok" => 0, "aktif" => true],
["nama" => "Monitor", "stok" => 12, "aktif" => false],
["nama" => "Keyboard","stok" => 8, "aktif" => true],
];
// Filter: hanya produk aktif DAN ada stok
$tersedia = array_filter($produk, fn($p) =>
$p["aktif"] === true && $p["stok"] > 0
);
print_r($tersedia);
// Laptop (stok:5) ✓
// Keyboard (stok:8) ✓
// Mouse: stok 0 → disaring
// Monitor: tidak aktif → disaring
?>
Saya masih sering lihat kode PHP seperti ini di code review:
$hasil = [];
foreach ($data as $item) {
$hasil[] = $item * 0.9;
}
Ini bukan salah — tapi ada cara yang jauh lebih bersih dan ekspresif:
$hasil = array_map(fn($item) => $item * 0.9, $data);
Satu baris. Lebih mudah dibaca. Niatnya jelas: "map setiap elemen".
3 fungsi array yang wajib kamu kuasai hari ini:
🗂 array_map() → transformasi setiap elemen
🔍 array_filter() → saring data berdasarkan kondisi
🧮 array_reduce() → hitung satu nilai dari seluruh array
Kuasai ketiganya dan kode PHP-mu akan terlihat seperti ditulis oleh developer senior