Fungsi Array Dasar
Fungsi array yang paling sering dipakai: count, in_array, array_push, array_merge, array_keys.
Kenapa Fungsi Array Ada?
Array tanpa fungsi bawaan seperti lemari arsip tanpa alat bantu: mau menghitung isi harus hitung manual satu per satu. PHP menyediakan puluhan fungsi array siap pakai sehingga kamu tidak perlu menulis loop untuk operasi umum. Prinsipnya: kalau operasinya umum (hitung, gabung, cek isi), hampir pasti sudah ada fungsinya.
<?php
// Contoh 1: fungsi yang paling sering dipakai sehari-hari
$buah = ["apel", "mangga", "jeruk", "apel"];
echo count($buah); // 4: jumlah isi
var_dump(in_array("mangga", $buah)); // bool(true): apakah ada?
var_dump(array_key_exists("nama", ["nama" => "Sinta"])); // bool(true): apakah kunci ada?
$angka = [3, 1, 4, 1, 5];
echo array_sum($angka); // 14: jumlahkan semua
echo max($angka); // 5: nilai terbesar
echo min($angka); // 1: nilai terkecilcount(), in_array(), array_sum(), max(), min() adalah lima serangkai yang muncul di hampir semua program. Hafalkan mereka seperti menghafal perkalian.
<?php
// Contoh 2: menambah, menghapus, dan menggabungkan
$antri = ["Andi", "Budi"];
array_push($antri, "Citra"); // tambah ke akhir: ["Andi", "Budi", "Citra"]
$terakhir = array_pop($antri); // ambil dari akhir: "Citra", sisa ["Andi", "Budi"]
$pertama = array_shift($antri); // ambil dari awal: "Andi", sisa ["Budi"]
$a = ["apel", "mangga"];
$b = ["jeruk"];
$semua = array_merge($a, $b); // ["apel", "mangga", "jeruk"]: gabung dua arrayPerhatikan pola nama: array_push/array_pop bekerja di akhir array (seperti tumpukan piring), array_shift di awal (seperti antrean). array_merge menggabungkan dua array menjadi satu.
Jebakan yang Sering Terjadi
Fungsi yang mengubah langsung vs mengembalikan baru. array_push($antri, "Citra") mengubah $antri secara langsung (tidak perlu assignment). Sebaliknya array_merge($a, $b) tidak mengubah $a atau $b, ia mengembalikan array baru. Kalau kamu menulis array_merge($a, $b); tanpa menampung hasilnya, gabungannya hilang begitu saja. Aturan: cek dokumentasi apakah fungsi "memodifikasi" atau "mengembalikan".
in_array longgar secara default. in_array(0, ["apel", "mangga"]) menghasilkan true karena juggling (0 == "apel"). Untuk pencarian aman, pakai mode ketat: in_array("mangga", $buah, true).
Kombinasi Mematikan
Fungsi array bersinar saat dirangkai:
<?php
$nilai = [85, 0, 92, 78, 0, 88];
// Rata-rata tanpa menghitung nol (data kosong)
$valid = array_filter($nilai, fn($n) => $n > 0);
$rata = array_sum($valid) / count($valid);
echo "Rata-rata: $rata\n"; // 85.75
// Daftar unik yang diurut
$buah = ["mangga", "apel", "mangga", "jeruk", "apel"];
$unik = array_values(array_unique($buah));
sort($unik);
print_r($unik); // ["apel", "jeruk", "mangga"]
// Cek kelengkapan: apakah semua syarat terpenuhi?
$syarat = ["nama" => "Sinta", "email" => "", "umur" => 17];
$lengkap = !in_array("", array_values($syarat), true);
var_dump($lengkap); // false: email kosongPola "filter -> agregat" (contoh pertama) adalah pipeline data mini yang muncul di laporan, dashboard, dan rekap nilai.
Catatan teknis: Hampir semua fungsi array diawali
array_, jadi mudah ditebak. Butuh sesuatu? Coba tebak namanya dulu (array_reverse,array_unique,array_slice), lalu cek di php.net. Sembilan dari sepuluh tebakanmu benar.
Tantangan
Cek stok barang
Array $stok = ["beras" => 10, "minyak" => 0, "gula" => 5]. Tampilkan jumlah jenis barang dengan count(), lalu dengan in_array/array_key_exists cek apakah "kopi" ada di stok. Tampilkan barang yang stoknya 0.