Array adalah salah satu struktur data paling penting dan paling sering digunakan di PHP. Dengan array, kamu bisa menyimpan banyak nilai dalam satu variabel, mengelola kumpulan data, dan memprosesnya secara efisien. PHP mendukung tiga jenis array utama: array terindeks (indexed), array asosiatif (associative), dan array multidimensi (multidimensional). Menguasai ketiganya adalah kunci untuk menulis kode PHP yang baik.
Array Terindeks (Indexed Array)
Array terindeks menggunakan angka sebagai kunci, dimulai dari 0:
<?php
// Cara membuat array terindeks
$buah = ['apel', 'mangga', 'jeruk', 'pisang'];
// Akses elemen berdasarkan indeks
echo $buah[0]; // apel
echo $buah[2]; // jeruk
// Menambah elemen di akhir
$buah[] = 'semangka';
// Iterasi dengan foreach
foreach ($buah as $index => $nama) {
echo "$index: $nama\n";
}
// Jumlah elemen
echo count($buah); // 5
Array Asosiatif (Associative Array)
Array asosiatif menggunakan string sebagai kunci, mirip seperti objek/dictionary di bahasa lain:
<?php
// Membuat array asosiatif
$mahasiswa = [
'nama' => 'Budi Santoso',
'nim' => '2021001',
'jurusan' => 'Teknik Informatika',
'ipk' => 3.75,
];
// Akses berdasarkan kunci
echo $mahasiswa['nama']; // Budi Santoso
echo $mahasiswa['jurusan']; // Teknik Informatika
// Menambah atau mengubah elemen
$mahasiswa['angkatan'] = 2021;
$mahasiswa['ipk'] = 3.80; // update
// Cek apakah kunci ada
if (isset($mahasiswa['email'])) {
echo $mahasiswa['email'];
} else {
echo "Email belum diisi.";
}
// Iterasi key-value
foreach ($mahasiswa as $kunci => $nilai) {
echo "$kunci: $nilai\n";
}
Array Multidimensi
Array multidimensi adalah array yang berisi array lain sebagai elemennya. Sangat berguna untuk merepresentasikan data tabular seperti hasil query database:
<?php
// Array 2 dimensi: daftar mahasiswa
$daftar_mahasiswa = [
[
'nama' => 'Budi Santoso',
'jurusan' => 'Informatika',
'ipk' => 3.75,
],
[
'nama' => 'Ani Rahayu',
'jurusan' => 'Sistem Informasi',
'ipk' => 3.90,
],
[
'nama' => 'Candra Wijaya',
'jurusan' => 'Informatika',
'ipk' => 3.50,
],
];
// Akses elemen multidimensi
echo $daftar_mahasiswa[0]['nama']; // Budi Santoso
echo $daftar_mahasiswa[1]['ipk']; // 3.90
// Menampilkan seluruh daftar
foreach ($daftar_mahasiswa as $mhs) {
echo "{$mhs['nama']} - {$mhs['jurusan']} (IPK: {$mhs['ipk']})\n";
}
Fungsi Array yang Paling Sering Digunakan
PHP memiliki banyak fungsi bawaan untuk memanipulasi array. Berikut yang paling umum:
<?php
$angka = [5, 2, 8, 1, 9, 3];
// Mengurutkan array
sort($angka); // urutan naik: [1, 2, 3, 5, 8, 9]
rsort($angka); // urutan turun: [9, 8, 5, 3, 2, 1]
// Untuk array asosiatif
$nilai = ['matematika' => 85, 'bahasa' => 90, 'ipa' => 78];
asort($nilai); // urutkan berdasarkan nilai
ksort($nilai); // urutkan berdasarkan kunci
// Mencari nilai
$ada = in_array(8, $angka); // true/false
$kunci = array_search(8, $angka); // indeks dari nilai 8
// Menggabungkan array
$a = [1, 2, 3];
$b = [4, 5, 6];
$gabung = array_merge($a, $b); // [1, 2, 3, 4, 5, 6]
// Mengambil sebagian array
$sebagian = array_slice($angka, 1, 3); // mulai indeks 1, ambil 3 elemen
// Memfilter array
$diatas_lima = array_filter($angka, fn($n) => $n > 5);
// Transformasi array dengan map
$dikali_dua = array_map(fn($n) => $n * 2, $angka);
// Mereduksi array ke satu nilai
$total = array_reduce($angka, fn($carry, $item) => $carry + $item, 0);
echo $total; // jumlah semua angka
Mengelompokkan Data dengan Array Multidimensi
Contoh nyata: mengelompokkan mahasiswa berdasarkan jurusan:
<?php
$mahasiswa = [
['nama' => 'Budi', 'jurusan' => 'Informatika'],
['nama' => 'Ani', 'jurusan' => 'Sistem Informasi'],
['nama' => 'Doni', 'jurusan' => 'Informatika'],
['nama' => 'Rina', 'jurusan' => 'Sistem Informasi'],
];
$kelompok = [];
foreach ($mahasiswa as $mhs) {
$kelompok[$mhs['jurusan']][] = $mhs['nama'];
}
// Hasil:
// $kelompok['Informatika'] = ['Budi', 'Doni']
// $kelompok['Sistem Informasi'] = ['Ani', 'Rina']
foreach ($kelompok as $jurusan => $daftar) {
echo "$jurusan: " . implode(', ', $daftar) . "\n";
}
Kesimpulan
Array di PHP sangat fleksibel dan powerful. Array terindeks cocok untuk daftar sederhana, array asosiatif sempurna untuk mewakili objek dengan properti bernama, dan array multidimensi sangat berguna untuk data kompleks seperti hasil query database. Dengan menguasai fungsi-fungsi array bawaan PHP seperti array_filter(), array_map(), dan array_reduce(), kamu bisa memproses data dengan kode yang lebih ringkas dan efisien.