Hari 8: Fungsi Array Tingkat Lanjut
60 min
Last updated 09 Apr 2026
array_map — Transformasi Setiap Elemen
$angka = [1, 2, 3, 4, 5];
$kuadrat = array_map(fn($n) => $n ** 2, $angka);
// [1, 4, 9, 16, 25]
// Map dua array bersamaan
$a = [1, 2, 3]; $b = [10, 20, 30];
$hasil = array_map(fn($x, $y) => $x + $y, $a, $b);
// [11, 22, 33]
array_filter — Saring Elemen
$angka = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$genap = array_filter($angka, fn($n) => $n % 2 === 0);
// [2, 4, 6, 8, 10]
$besar = array_filter($angka, fn($n) => $n > 5);
// [6, 7, 8, 9, 10]
array_reduce — Reduksi ke Satu Nilai
$angka = [1, 2, 3, 4, 5];
$total = array_reduce($angka, fn($carry, $item) => $carry + $item, 0);
// 15
$perkalian = array_reduce($angka, fn($carry, $item) => $carry * $item, 1);
// 120 (5 faktorial)
usort — Urutkan Custom
$siswa = [
["nama" => "Budi", "nilai" => 85],
["nama" => "Ani", "nilai" => 92],
["nama" => "Cici", "nilai" => 78],
];
usort($siswa, fn($a, $b) => $b["nilai"] - $a["nilai"]); // descending
foreach ($siswa as $s) echo "{$s["nama"]}: {$s["nilai"]}\n";
// Ani: 92, Budi: 85, Cici: 78
💡
Notice: Chain: filter dulu (ambil > 10: [12,23,17,19]), kalikan 2 ([24,46,34,38]), jumlahkan (142).
Assignment
Diberikan $produk = [12, 5, 23, 8, 17, 3, 19]. Gunakan array_filter untuk ambil yang > 10, lalu array_map untuk kalikan hasilnya dengan 2, lalu array_sum untuk jumlahkan. Tampilkan hasilnya.
Expected output:
142
PHP
index.php
Solution
Output