Dalam pembuatan script PHP sering kita menjalankan kode program yang sama berulang-ulang dalam satu urutan proses. Jika ditulis secara manual mungkin akan membutuhkan baris script yang sangat banyak. Untuk mempermudah dan meringkas penulisan kita bisa menggunakan perintah perulangan [loop]. Selain penyeleksian kondisi, PHP juga mendukung perulangan proses dengan perintah WHILE, DO…WHILE, FOR dan FOREACH.
1. Perulangan dengan WHILE
Yaitu perulangan kode program berdasarkan suatu kondisi yang bernilai benar. Jika kondisi tersebut bernilai salah maka perulangan berhenti.
Cara penulisan WHILE
while [kondisi] {
kode yang akan dijalankan;}
Contoh penggunaan WHILE
Penjelasan program :
Pada baris bertama nilai variabel $x diberi nilai 1 dengan perintah $x=1. Kemudian nilai variabel $x akan ditambahkan 1 dengan perintah $x++ selama nilai variabel $x lebih kecil atau sama dengan 5. Setelah itu perulangan $x++ berhenti.
2. Perulangan dengan DO…WHILE
Yaitu perintah untuk mengerjakan kode program lalu mengulang proses tersebut selama sebuah kondisi bernilai benar. Perulangan berhenti jika kondisi tidak terpenuhi lagi.
Cara penulisan DO…WHILE
do {
kode yang akan dijalankan;} while [kondisi];
Contoh penggunaan DO…WHILE
Penjelasan program :
Pertama kali variabel $x diberi nilai 1 [$x=1]. Kemudian menampilkan nilai $x dan menambah $x dengan 1 malalui perintah $x++. Selanjutnya cek kondisi setelah while, apakah nilai $x lebih kecil atau sama dengan 5. Jika ya maka akan diulang proses diatas sampai kondisi pada while tercapai.
Perbedaan antara WHILE dan DO..WHILE
Sepintas terlihat sama antara WHILE dan DO…WHILE, namun ada perbedaan mendasar yaitu terletak pada penempatan WHILE. Jika pada perulangan WHILE letak WHILE pada baris pertama perulangan maka pada DO…WHILE terletak pada akhir perulangan. Pada DO…WHILE sebuah proses pasti dikerjakan setidaknya satu kali, sedang pada WHILE ada kemungkinan tidak dikerjakan.
Untuk lebih jelasnya bisa dilihat contoh berikut ini
Penjelasan program :
Prinsip kerja program sama dengan diatas tapi nilai awal untuk variabel $x dibuat 6 sehingga berada diluar kondisi. Jika program dijalankan akan tetap menampilkan 6 pada layar.
3. Perulangan dengan FOR
Yaitu mengulang kode program dengan jumlah angka perulangan tertentu. Perulangan berhenti setelah tercapai angka perulangan yang diset pada inisialisasi FOR. Perulangan FOR dipakai jika kita sudah mengetahui berapa jumlah perulangan yang diinginkan.
Cara Penulisan FOR
for [nilai awal; tes kondisi nilai; operasi perubahan nilai]
{
kode yang akan dijalankan;
}
Keterangan parameter pada FOR:
- nilai awal, adalah nilai yang diberikan saat FOR pertama kali dijalankan.
- tes kondisi nilai, adalah proses pengecekan nilai selama loop berlangsung. Jika bernilai benar maka proses loop diteruskan dan jika bernilai salah maka loop berhenti.
- operasi perubahan nilai: adalah operasi yang mengubah nilai selama proses loop yang membuat nilai mencapai kondisi nilai tes.
Contoh penggunaan FOR
Penjelasan program:
Pada program tampak perulangan FOR mengacu pada perubahan nilai variabel $x. Untuk nilai awal $x=0 lalu tes kondisi perulangan jika $x kurang dari atau sama dengan 10 kemudian operasi perubahan nilai berupa $x++. Dengan demikian jika program dijalankan akan tampil angka 1 sampai 10.
4. Perulangan dengan FOREACH
Yaitu perulangan kode program untuk setiap elemen data di dalam array. Perulangan berhenti setelah data terakhir array. Perulangan FOREACH hanya bekerja pada array.
Cara penulisan FOREACH
foreach [$array as $value]
{
kode yang dijalankan;
}
Contoh penggunaan FOREACH
Note: Untuk setiap iterasi loop, nilai elemen array diterapkan pada $ value dan pointer array digerakkan satu demi satu hingga mencapai elemen array terakhir.
Penjelasan program:
Jika dijalankan, program diatas akan menampilkan semua data pada variabel array $warna. Pada contoh, variabel array berisi nama-nama warna yaitu merah, hijau, biru dan kuning. Dengan perintah FOREACH maka semua data pada array $warna akan ditampilkan satu-persatu sesuai urutan data pada array.
Referensi :
- //www.w3schools.com/php/php_looping.asp
- //www.w3schools.com/php/php_looping_for.asp