PHP Array Indexed Associative Nested Common Operations
Definisi
Di PHP, array adalah ordered map — bisa dipakai sebagai list (indexed), dictionary (associative ['k'=>'v']), atau nested. Fungsi bawaan: array_map, array_filter, array_reduce, array_merge, in_array, array_column.
Kapan dipakai
Hampir di setiap skrip. Pahami perbedaan indexed vs associative karena foreach dan array_* berbeda perilaku.
Cara kerja
$list = [1, 2, 3];
$map = ['a' => 1, 'b' => 2];
$nested = [['id' => 1], ['id' => 2]];
$doubled = array_map(fn($x) => $x * 2, $list);
$filtered = array_filter($list, fn($x) => $x > 1);
$sum = array_reduce($list, fn($c, $x) => $c + $x, 0);
$ids = array_column($nested, 'id'); // [1, 2]Struktur alur
Loading diagram...
Catatan implementasi
array_mappreserve key untuk associative; indexed reset.array_mergedengan string key = overwrite; numeric = append.foreach ($map as $k => $v)untuk akses key.array_columnsangat berguna untuk koleksi objek/array nested.
Kesalahan umum
- Merge numeric key bentrok: pakai
+atauarray_mergehati-hati. - in_array loose: pakai
in_array($x, $a, true)strict. - Mutasi saat iterasi: hati-hati tambah/hapus elemen di loop.
- array_map vs foreach: map return baru, foreach by-reference ubah.