for
Looping dengan for disebut juga determinate loop, artinya looping yang jumlah pengulangannya (iterasi) telah ditentukan di awal looping.
Ada beberapa bagian penting dari for loop:
- Initialization expression, dijalankan satu kali, pada saat looping dimulai. Biasanya bagian ini digunakan untuk menginisialisasi counter(penghitung).
- Stop condition, diperiksa nilainya sebelum setiap iterasi dieksekusi. Apabila condition bernilai false, iterasi dihentikan.
- Iterative expression, dilakukan setelah iterasi dieksekusi. Bagian ini biasanya digunakan untuk menambah nilai counter.
- Loop body, dieksekusi sekali setiap iterasi, merupakan perintah yang ingin kita lakukan berulang-ulang.
Contoh kode di atas akan menampilkan tulisan Hello World di browser sebanyak 10 kali. Untuk melihat contoh penggunaan for, tambahkan tampilan pada control_flow.htm menjadi seperti gambar di bawah.

Pasang baris kode berikut pada forDemo.php
<?
$jumlah = 0;
for($i=0; $i<strlen($kata); $i++){ if(substr($kata, $i, 1) == $huruf){
$jumlah ++;
}
}
?>
while
while loop juga dikenal dengan istilah indeterminate loop, artinya jumlah loopingnya tidak ditentukan pada awal looping. while loop lebih sederhana daripada for loop, karena cuma memiliki dua bagian:
- Stop Condition.
- Loop body.
Stop condition diperiksa sebelum tiap iterasi dilaksanakan. Selama stop condition bernilai true, perintah dalam loop body akan dilakukan berulang-ulang. Iterasi akan dihentikan apabila stop condition bernilai false.
Sama seperti pada for loop, loop body dilaksanakan satu kali setiap iterasi. Loop di atas akan berjalan terus tanpa henti, karena tidak ada perintah yang mengubah nilai stop condition.
do-while loop merupakan modifikasi dari while loop. Bentuknya dapat dilihat pada sampel kode berikut:
do{
// some statement
}
while (a == true)
untuk melihat contoh penggunaan while, gunakan form yang sama dengan forDemo.
Tambahkan baris kode berikut pada whileDemo.php
<?
$jumlah = 0; $i = 0;
while($i<strlen($kata)){
if(substr($kata, $i, 1) == $huruf){
$jumlah ++;
$i++;
}
}
?>