A. Statement FOR
Sintaks statement FOR adalah sebagai berikut
Pada for di atas, variabel counternya dalam hal ini adalah $a. Nilai $a ini memiliki nilai
awal sama dengan 1. Selanjutnya operator increment (kenaikan) yang digunakan adalah $a++
atau $a = $a + 1 (kenaikannya satu) dan nilai akhir untuk $a adalah sama dengan 5.
Selain operator increment, kita juga bisa menggunakan operator decrement (turun)
Contohnya
<?php
$teks = "Hello World";
for ($a = 10; $a > 5; $a--)
{
echo "<h".$a.">".$teks."</h".$a.">";
}
?>
FOR di dalam FOR (nested FOR)
Statement FOR dapat terletak di dalam sebuah FOR, seperti contoh berikut ini
<?php
for ($a = 1; $a < =3; $a++)
{
for ($b = 1; $b <= 2; $b++)
{
echo "Nilai a = ".$a. " Nilai b = ".$b. "<br />";
}
}
?>
Contoh di atas disebut juga “nested FOR tingkat 2”.
Proses yang terjadi pada script di atas adalah sbb:
$a = 1 (masih memenuhi $a < =3), maka lakukan for yang terletak di dalam
o $b = 1 (masih memenuhi $b <= 2) maka cetak "Nilai a = 1 Nilai b = 1"
o $b = 2 (masih memenuhi $b <= 2) maka cetak "Nilai a = 1 Nilai b = 2"
o $b = 3 (tidak memenuhi $b <= 2), maka STOP
$a = 2 (masih memenuhi $a <= 3), maka lakukan for yang terletak di dalam
o $b = 1 (masih memenuhi $b <= 2) maka cetak "Nilai a = 2 Nilai b = 1"
o $b = 2 (masih memenuhi $b <= 2) maka cetak "Nilai a = 2 Nilai b = 2"
o $b = 3 (tidak memenuhi $b <= 2), maka STOP
$a = 3 (masih memenuhi $a <= 3), maka lakukan for yang terletak di dalam
o $b = 1 (masih memenuhi $b <= 2) maka cetak "Nilai a = 3 Nilai b = 1"
o $b = 2 (masih memenuhi $b <= 2) maka cetak "Nilai a = 3 Nilai b = 2"
o $b = 3 (tidak memenuhi $b <= 2), maka STOP
$a = 4 (tidak memenuhi $a <= 3), maka STOP
Perhatikan baik-baik tag di atas. Untuk membuat tabel di atas, tag <td>..</td> dalam satu baris
ditulis 2 kali (sesuai jumlah kolom yang diinginkan). Sedangkan <tr> dan </tr> ditulis 3 kali (sesuai
jumlah baris yang diinginkan). Konsep untuk membuat script PHP yang bisa mengenerate tabel
dengan n baris dan m kolom secara otomatis adalah sebagai berikut. Kita membuat baris pertama
<tr> terlebih dahulu, kemudian dilanjutkan dengan membuat kolom <td>..</td> sebanyak jumlah
kolom. Setelah selesai membuat kolom, ditutup dengan </tr>. Baris pertama selesai. Berikutnya
buat baris ke dua. Pertama kita juga buat <tr>, lalu dilanjutkan dengan <td>…</td> sebanyak
jumlah kolom dan diakhiri dengan </tr>. Nah.. proses ini diulang terus sampai dengan jumlah
baris.
Apabila kita lihat konsep di atas, maka dapat kita lihat terdapat dua proses perulangan yaitu
untuk membuat baris dan kolomnya. Sehingga dalam hal ini kita gunakan FOR di dalam FOR
(nested FOR tingkat 2)
<?php
$jumBaris = 10;
$jumKolom = 6;
echo "<table border=’1’>";
for ($baris = 1; $baris <= $jumBaris; $baris++)
{
echo "<tr>";
for ($kolom = 1; $kolom <= $jumKolom; $kolom++)
{
echo"<td>…</td>";
}
echo "</tr>";
}
echo "</table>";
?>
Script PHP untuk menghasilkan list combo box berisi tahun mulai 1930 s/d 2008 secara
otomatis
<?php
echo "<select name=’tahun’>";
for ($tahun = 1930; $tahun <= 2008; $tahun++)
{
echo "<option value=’".$tahun."’>".$tahun."</option>";
}
echo "</select>";
?>
Hasil output di atas adalah
B. Statemet WHILE
Script PHP untuk mencari banyaknya bilangan bulat mulai dari 3 s/d 127 yang
merupakan kelipatan 6.
<?php
$hitung = 0;
$bil = 3;
while ($bil <= 127)
{
if ($bil % 6 == 0) $hitung = $hitung + 1;
$bil++;
}
echo "Banyaknya bilangan bulat adalah ".$hitung;
?>
C. Statemet DO-WHILE
Bentuk umum statement DO-WHILE adalah sbb:
Do
{
// bagian yang diulang
} while (syarat)
Perulangan do ... while sama persis dengan perulangan while. Ia sama-sama mengevaluasi
ekspresi boolean. Selama ekspresi tersebut bernilai true, perulangan akan terus dilakukan. Dan
jika nilai boolean tersebut false, perulangan akan dihentikan.
Kalau dalam metode while, ekspresi boolean akan diperiksa terlebih dahulu sebelum
memulai perulangan.
Ada pun dengan do ... while, ia akan mengeksekusi perulangan terlebih dahulu, baru
setelah itu ia akan mengevaluasi kondisi boolean.