Learn
← Previous Next →

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