PHP : Loops

Berbagai Jenis Loop dalam PHP

Loop digunakan untuk mengeksekusi blok kode yang sama berulang kali, selama kondisi tertentu terpenuhi. Ide dasar di balik sebuah loop adalah untuk mengotomatiskan tugas yang berulang dalam suatu program untuk menghemat waktu dan usaha. PHP mendukung empat jenis loop yang berbeda, yaitu:

  • while —- loop melalui blok kode selama kondisi yang ditentukan bernilai true.
  • do… while —- blok kode dieksekusi sekali dan kemudian kondisinya dievaluasi. Jika kondisi ini true, pernyataan diulangi selama kondisi yang ditentukan true.
  • for —- loop melalui blok kode sampai penghitung mencapai angka yang ditentukan.
  • foreach —- loop melalui blok kode untuk setiap elemen dalam array.

Kalian juga akan belajar cara mengulang nilai array menggunakan loop foreach() di akhir bab ini. Loop foreach() bekerja secara khusus dengan array.

PHP while Loop

Pernyataan while akan mengulang (loop) melalui blok kode selama kondisi yang ditentukan dalam pernyataan while mengevaluasi true.

while(condition){
    // Code to be executed
}

Contoh di bawah ini mendefinisikan loop yang dimulai dengan $i=1. Loop akan terus berjalan selama $i kurang dari atau sama dengan 3. $i akan meningkat sebesar 1 setiap kali loop berjalan:

<?php
$i = 1;
while($i <= 3){
    $i++;
    echo "The number is " . $i . "<br>";
}
?>
PHP do…while Loop

do-while loop adalah varian dari while loop, yang mengevaluasi kondisi pada akhir setiap iterasi loop. Dengan loop do-while blok kode dieksekusi sekali, dan kemudian kondisinya dievaluasi, jika kondisinya true, pernyataan diulangi selama kondisi yang ditentukan dievaluasi true.

do{
    // Code to be executed
}
while(condition);

Contoh berikut mendefinisikan loop yang dimulai dengan $i=1. Kemudian akan meningkatkan $i dengan 1, dan mencetak hasilnya. Kemudian kondisinya dievaluasi, dan loop akan terus berjalan selama $i kurang dari, atau sama dengan 3.

<?php
$i = 1;
do{
    $i++;
    echo "The number is " . $i . "<br>";
}
while($i <= 3);
?>
Perbedaan Antara Loop while dan do…while

Loop while berbeda dari loop do-while dalam satu cara penting — dengan loop while, kondisi yang akan dievaluasi diuji pada awal setiap iterasi loop, jadi jika ekspresi kondisional bernilai false, loop tidak akan pernah dieksekusi .

Dengan loop do-while, di sisi lain, loop akan selalu dieksekusi sekali, bahkan jika ekspresi kondisional salah, karena kondisi dievaluasi pada akhir perulangan loop daripada permulaan.

PHP untuk Loop

Loop for mengulangi blok kode selama kondisi tertentu terpenuhi. Ini biasanya digunakan untuk mengeksekusi blok kode untuk beberapa kali waktu.

for(initialization; condition; increment){
    // Code to be executed
}

Parameter loop for memiliki arti sebagai berikut:

  • Initialization — digunakan untuk menginisialisasi variabel counter, dan dievaluasi sekali tanpa syarat sebelum eksekusi pertama dari tubuh loop.
  • Condition — di awal setiap iterasi, kondisi dievaluasi. Jika bernilai true, loop berlanjut dan pernyataan bersarang dieksekusi. Jika bernilai false, eksekusi dari loop berakhir.
  • Increment — ini memperbarui penghitung lingkaran dengan nilai baru. Ini dievaluasi pada akhir setiap iterasi.

Contoh di bawah ini mendefinisikan loop yang dimulai dengan $i=1. Loop akan berlanjut hingga $i kurang dari, atau sama dengan 3. Variabel $i akan meningkat sebesar 1 setiap kali loop berjalan:

<?php
for($i=1; $i<=3; $i++){
    echo "The number is " . $i . "<br>";
}
?>
PHP Loop foreach

Loop foreach digunakan untuk beralih di atas array.

foreach($array as $value){
    // Code to be executed
}

Contoh berikut menunjukkan loop yang akan mencetak nilai dari array yang diberikan:

<?php
$colors = array("Red", "Green", "Blue");
 
// Loop through colors array
foreach($colors as $value){
    echo $value . "<br>";
}
?>

Ada satu lagi sintaks foreach loop, yang merupakan ekstensi dari yang pertama.

foreach($array as $key => $value){
    // Code to be executed
}
<?php
$superhero = array(
    "name" => "Peter Parker",
    "email" => "peterparker@mail.com",
    "age" => 18
);
 
// Loop through superhero array
foreach($superhero as $key => $value){
    echo $key . " : " . $value . "<br>";
}
?>