Dalam dunia pemrograman, ada satu perintah dasar yang harus dipahami oleh seorang programmer, yaitu namanya perintah Looping atau Pengulangan. Perintah Looping adalah perintah yang akan mengeksekusi baris perintah secara berulang sampai ke-n kali sesuai dengan yang ditentukan oleh programmer itu sendiri.
Hampir semua bahasa pemrograman terdapat setidaknya 4 tipe perintah Looping, tak terkecuali PHP, yaitu while, do..while, for dan foreach. Lalu apa saja bedanya?
Perintah perulangan yang akan mengeksekusi blok kode program didalamnya selama kondisi nya TRUE.
Syntax :
while (condition is true) {
code to be executed;
}
Contoh :
<?php
$x = 1;
//selama $x <= 5, lakukanlah:
while($x <= 5) {
//cetak nilai variable $x kelayar, kemudian tambahkan 1 terhadap nilai $x saat ini
echo "Nomer:".$x."<br>";
$x++;
}
?>
Output :
Nomer: 1
Nomer: 2
Nomer: 3
Nomer: 4
Nomer: 5
Secara fungsi, do..while() mirip dengan while(). Hanya saja, pada do..while() akan mengeksekusi perintah satu kali terlebih dahulu, baru kemudian melakukan cek kondisi nya apakah masih true atau false. Jika true, maka akan mengeksekusi perintah tersebut kembali.
Syntax :
do {
code to be executed;
} while (condition is true);
Contoh :
<?php
$x = 1;
//lakukanlah
do {
//cetak nilai variable $x kelayar, kemudian tambahkan 1 terhadap nilai $x saat ini
echo "Nomer:".$x."<br>";
$x++;
} while ($x <= 5); //selama $x <= 5, lakukanlah:
?>
Output :
Nomer: 1
Nomer: 2
Nomer: 3
Nomer: 4
Nomer: 5
looping for kalau gua pribadi, biasanya digunakan apabila ingin memproses data array, yang mana kita dapat dengan mudah menentukan mulai index array ke-n sampai index ke-n range data array yang akan di proses dengan bantuan looping.
Sebagai contoh, pada program kita, kita memiliki sebuah variable array dengan jumlah data sebanyak 10 data. Kita sebut aja $var_arr = array(‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘10’);. Lalu, kita ingin mencetak data tersebut ke layar yang mana hanya dimulai index ke-4 s/d index terakhir. Nah, jika kasus nya seperti itu, sangat ‘enak’ apabila kita menggunakan looping for. Kita langsung aja buat programnya
Syntax :
for (init counter; test counter; increment counter) {
code to be executed for each iteration;
}
Contoh :
<?php
//define variable array $var_arr
$var_arr = array('1', '2', '3', '4','5', '6','7', '8', '9', '10');
//proses looping for, kurang lebih artinya “untuk var $i dimulai dari 4, selama var $i kurang dari jumlah data var $var_arr,
//jalankan script di dalam looping for, lalu tambahkan 1 nilai var $i
for($i=4 ; $i<count($var_arr) ; $i++){
echo 'Nomer:'.$var_arr[$i].'</br>';
}?>
Output :
Nomer:5
Nomer:6
Nomer:7
Nomer:8
Nomer:9
Nomer:10
Fungsi foreach adalah fungsi looping yang hanya bisa dilakukan untuk looping variabel array saja. Foreach akan me-looping setiap index, key atau value pada variable array.
Berbeda dengan looping for yang efektif apabila kita ingin memproses rentang data array tertentu, looping foreach ini sangat efektif apabila kita ingin memproses seluruh data pada variabel array.
Syntax :
foreach ($array as $value) {
code to be executed;
}
Contoh :
- Dengan Array biasa
<?php
//definisi var array dengan nama $nomor
$nomor = array("1", "2", "3", "4", "5");
//proses looping dengan forecah
//note: $nomor adalah variabel yang mau di looping,
//$value adalah variable sementara yang akan menampung nilai dari variabel $nomor pada saat proses looping.
//Sifatnya tidak mutlak, artinya var $value namanya bisa kalian ubah menjadi apapun (contoh : $v, $nilai, $x, dll)
foreach ($nomor as $value) {
echo “Nomor”. $value.”<br>”;
}
?>
Output :
Nomer:1
Nomer:2
Nomer:3
Nomer:4
Nomer:5
- Dengan Array Assosiatif
<?php
//definisi var array dengan nama $score
$score = array("Joe"=>"80", "Eko"=>"100", "Susi"=>"75");
//note: $ score adalah variabel yang mau di looping,
//$x adalah nilai dari index atau array key yang sedang di looping saat ini.
//Nama var $x tidak mutlak, namanya bisa kalian ubah.
//$value adalah variable sementara yang akan menampung nilai dari variabel $nomor pada saat proses looping.
//Sifatnya tidak mutlak, artinya var $value namanya bisa kalian ubah menjadi apapun (contoh : $v, $nilai, $x, dll)
foreach($score as $x => $val) {
echo $x."=".$val."<br>";
}
?>
Output :
Joe=80
Eko=100
Susi=75