Perulangan (for, while, foreach)

for, while, do-while, foreach dengan key, break/continue, serta kesalahan umum perulangan.

Part 4 dari 22 ± 35 menit Gratis

Mengapa perulangan?

Perulangan menjalankan blok kode berkali-kali tanpa menulisnya berulang-ulang: menampilkan 100 produk, menjumlahkan harga, memproses baris file, dan seterusnya.

for — jumlah pengulangan sudah diketahui

for ($i = 1; $i <= 5; $i++) {
    echo "Baris ke-{$i}\n";
}

Tiga bagian di dalam kurung: inisialisasi ($i = 1), kondisi (lanjut selama benar), dan langkah ($i++ setiap putaran).

while dan do-while

$saldo = 100;
while ($saldo > 0) {
    $saldo -= 30;      // 100, 70, 40, 10, -20
}

do {
    echo "Dijalankan minimal sekali\n";
} while (false);

while mengecek kondisi sebelum masuk; do-while mengecek sesudah sehingga badan perulangan pasti jalan minimal sekali. Hati-hati dengan perulangan tak berujung: pastikan ada sesuatu yang mengubah kondisi.

foreach — pilihan utama untuk array

$buah = ['apel', 'jeruk', 'mangga'];
foreach ($buah as $b) {
    echo $b . "\n";
}

$harga = ['apel' => 5000, 'jeruk' => 4000];
foreach ($harga as $nama => $h) {
    echo "{$nama}: Rp " . number_format($h, 0, ',', '.') . "\n";
}

Bentuk $key => $value memberi akses ke kunci sekaligus nilai. Untuk mengubah isi array saat looping, gunakan referensi foreach ($arr as &$v) dan selalu unset($v) sesudahnya — kalau tidak, variabel $v tetap menunjuk elemen terakhir dan memunculkan bug yang membingungkan.

break dan continue

foreach ($angka as $n) {
    if ($n % 2 === 0) {
        continue;      // lewati genap, lanjut putaran berikut
    }
    if ($n > 50) {
        break;         // hentikan seluruh perulangan
    }
    echo $n;
}

break 2; keluar dari dua tingkat perulangan bersarang sekaligus.

Rentang dan generator ringan

range(1, 5) membuat array [1,2,3,4,5]; range('a', 'e') huruf; range(0, 100, 25) melompat 25. Untuk data sangat besar, bab lanjutan memperkenalkan generator (yield) agar tidak memuat semuanya ke memori.

Pola umum: akumulasi

$total = 0;
foreach ($keranjang as $item) {
    $total += $item['harga'] * $item['qty'];
}

Pola ini (siapkan variabel awal → tambah di tiap putaran) muncul di hampir semua program: menjumlah, menghitung, mengumpulkan hasil ke array baru dengan $hasil[] = ....

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X