Array

Array terindeks dan asosiatif, array multidimensi, destructuring, spread operator, dan fungsi array yang paling sering dipakai.

Part 5 dari 22 ± 50 menit Gratis

Apa itu array?

Array menyimpan banyak nilai dalam satu variabel. Di PHP, array sangat serbaguna: ia berfungsi sebagai daftar, kamus (peta kunci → nilai), tumpukan, antrean, bahkan "tabel". Gunakan sintaks pendek [ ].

$buah = ['apel', 'jeruk', 'mangga'];          // terindeks: 0, 1, 2
echo $buah[0];                                 // apel

$siswa = ['nama' => 'Sari', 'umur' => 17];     // asosiatif
echo $siswa['nama'];                           // Sari

Menambah, mengubah, menghapus

$buah[] = 'pisang';         // tambah di akhir
$buah[1] = 'anggur';        // ubah
unset($buah[0]);            // hapus (indeks TIDAK disusun ulang)
$buah = array_values($buah); // susun ulang indeks 0..n
echo count($buah);          // jumlah elemen
echo in_array('apel', $buah, true);  // true bila ada (strict)
echo isset($siswa['alamat']);        // false: kunci tidak ada

Array multidimensi

$produk = [
    ['nama' => 'Mouse',    'harga' => 75000,  'stok' => 12],
    ['nama' => 'Keyboard', 'harga' => 250000, 'stok' => 0],
];
echo $produk[1]['nama'];     // Keyboard

Bentuk ini sama persis dengan JSON — itulah sebabnya PHP sangat nyaman untuk membuat API.

Destructuring & spread

[$a, $b] = [10, 20];                       // $a=10, $b=20
['nama' => $nama, 'umur' => $umur] = $siswa; // berdasarkan kunci

$gabung = [...$buah, ...['kiwi', 'melon']];     // spread (kunci string didukung sejak 8.1)
[$x, $y] = [$y, $x];                            // tukar nilai tanpa variabel bantu

Fungsi array yang wajib dikuasai

FungsiKegunaan
array_map($fn, $arr)Mengubah tiap elemen → array baru
array_filter($arr, $fn)Menyaring elemen yang memenuhi syarat (kunci dipertahankan)
array_reduce($arr, $fn, $awal)Meringkas jadi satu nilai (mis. total)
array_column($rows, 'harga', 'id')Mengambil satu kolom dari array 2 dimensi
array_sum, array_uniqueJumlah dan hapus duplikat
array_keys, array_values, array_mergeAmbil kunci/nilai, gabungkan
usort($arr, $fn)Urut dengan fungsi pembanding (pakai <=>)
array_key_exists, array_searchCek kunci, cari nilai
array_slice, array_spliceAmbil / potong bagian array
array_is_list() (8.1)Apakah array terindeks 0..n berurutan

Contoh gabungan: map + filter + reduce

$produk = [
    ['nama' => 'Mouse',    'harga' => 75000,  'stok' => 12],
    ['nama' => 'Keyboard', 'harga' => 250000, 'stok' => 0],
    ['nama' => 'Monitor',  'harga' => 1500000,'stok' => 3],
];

$ada    = array_filter($produk, fn ($p) => $p['stok'] > 0);
$nama   = array_map(fn ($p) => $p['nama'], $ada);
$nilai  = array_reduce($ada, fn ($c, $p) => $c + $p['harga'] * $p['stok'], 0);

usort($produk, fn ($a, $b) => $b['harga'] <=> $a['harga']); // termahal dulu

fn ($p) => ... adalah arrow function — fungsi singkat satu ekspresi yang otomatis "melihat" variabel di luarnya (dibahas di bab Fungsi).

Hati-hati

  • Array di PHP disalin saat ditugaskan (copy-on-write); mengubah salinan tidak mengubah aslinya.
  • Mengakses kunci yang tidak ada memunculkan warning. Gunakan $arr['x'] ?? 'default'.
  • array_filter mempertahankan kunci — bungkus dengan array_values() bila butuh indeks bersih.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X