for digunakan jika kamu mengetahui berapa jumlah iterasi yang akan dilakukan. foreach hanya digunakan untuk melakukan iterasi pada array (tidak untuk tipe data lain) dan di php5 bisa juga untuk
iterate objects. Sedangkan while digunakan untuk melakukan iterasi jika memenuhi suatu kondisi (iterasi hanya dilakukan jika kondisi dipenuhi, minimal 0 iterasi) dan do while untuk melakukan iterasi sampai memenuhi suatu kondisi (minimal terjadi 1 kali iterasi). Contoh:
$i = 1;
do{
$i = $i +1;
}while($i < 1);
echo $i;// output adalah 2
$i = 1;
while($i < 1){
$i = $i + 1;
}
echo $i; //output adalah 1
//ini tidak bisa dilakukan dengan foreach
for($i = 0; $i < 3; $i++){
echo $i;
}
$bil = array('satu','dua','tiga');
foreach($bil as $huruf){
echo $huruf;
}
/atau boleh dengan for
for($i = 0; $i <count($bil); $i++){
echo $bil[$i];
}
$bil = array('satu' => 'one', 'dua' => 'tow', 'tiga' => 'three');
//lebih cocok menggunakan foreach dari pada for
foreach($bil as $bhsInd => $bhsEng){
echo $bhsInd.' = '.$bhsEng;
}
//menggunakan for lebih ribet
for($i=0; $i < count($bil); $i++){
$bhsEnd = current($bil);
$bhsInd = key($bil);
echo $bhsInd.' = '.$bhsEng;
next($bil);
}