PHP - Petlje


Različiti tipovi petlji u PHP-u

Petlje se koriste za izvršavanje istog bloka koda iznova i iznova, sve dok je ispunjen određeni uslov. Osnovna ideja petlji je automatizovati zadatke koji se ponavljaju unutar programa kako bi se uštedilo vrijeme i trud. PHP podržava četiri različite vrste petlji.

  • while - petlja prolazi kroz blok koda sve dok navedeni uslov bude istinit (true).
  • do/while - blok koda izvršen jednom i tada se procjenjuje stanje. Ako je uslov istinit (true), izjava se ponavlja sve dok je navedeni uslov istinit (true).
  • for - prolazi kroz blok koda dok brojač ne postigne zadani broj.
  • foreach - petlja prolazi kroz blok koda za svaki element u nizu.


PHP while petlja

Petlja while prolazi kroz blok koda sve dok se uslov naveden u naredbi ocijenjuje istinitim (true).

<?php
$i = 1;
while($i <= 3){
    $i++;
    echo "Broj je " . $i . "
";
}
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP while petlja</title>
</head>
<body>

<?php
$i = 1;
while($i <= 3){
    $i++;
    echo "Broj je " . $i . "
";
}
?>

</body>
</html>


PHP do/while petlja

Petlja do/while je varijanta while petlje, koja procjenjuje stanje na kraju svake iteracije petlje. S petljom do-while blok koda se izvrši jednom, a zatim se uslov procjenjuje, ako je uslov istinit (true), izjava se ponavlja sve dok je navedeni uslov koji se procijenjuje istinit (true).

do{
    // Kod koji se treba izvršiti
}
while(condition);

Sljedeći primjer definiše petlju koja započinje s $i = 1. Tada će se povećati $i za 1 i ispisati razultat. Tada se uslov procjenjuje, a petlja će se nastaviti izvršavati sve dok je $i manje ili jednako 3.

<?php
$i = 1;
do{
    $i++;
    echo "Broj je " . $i . "
";
}
while($i <= 3);
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP do-while petlja</title>
</head>
<body>

<?php
$i = 1;
do{
    $i++;
    echo "Broj je " . $i . "
";
}
while($i <= 3);
?>

</body>
</html>


Razlika između while i do/while petlje

Petlja while se razlikuje od do-while petlje na jedan važan način - s petljom while, uslov koji se procjenjuje testira se na početku svake iteracije petlje, tako da ako se uslovni izraz procijeni na lažno (false), petlja se nikada neće izvršiti. S druge strane, petlja do-while će se uvijek jednom izvršiti, čak i ako je uslovni izraz lažan (false), jer se uslov procjenjuje na kraju iteracije petlje, a ne na početku.



PHP for petlja

Petlja for ponavlja blok koda sve dok je ispunjen određeni uslov. Obično se koristi za izvršavanje bloka koda određenog broja puta.

for(initialization; condition; increment){
    // Kod koji se treba izvršiti
}

Parametri za petlju imaju sljedeće značenje:

  • inicijalizacija (initialization)- koristi se za inicijalizaciju brojača i procjenjuje se jednom bezuvslovno prije prvog izvršenja tijela petlje.
  • stanje (condition)- na početku svake iteracije stanje se procjenjuje. Ako se procijeni na istinito (true), petlja se nastavlja i ugniježđene izjave se izvršavaju. Ako ocijeni kao lažno (false), izvršenje petlje se završava.
  • uvećavanje (increment) - ažurira brojač petlje s novom vrijednošću. To će se procijeniti na kraju svake iteracije.

Primjer u nastavku defiše petlju koja započinje s $i = 1. Petlja će se nastaviti sve dok $i bude manji ili jednak 3. Varijabla $i će se povećavati za 1 svaki put kada se petlja pokrene:

<?php
for($i=1; $i<=3; $i++){
    echo "Broj je " . $i . "
";
}
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP for petlja</title>
</head>
<body>

<?php
for($i=1; $i<=3; $i++){
    echo "Broj je " . $i . "
";
}
?>

</body>
</html>


PHP foreach petlja

Petlja foreach koristi se za ponavljanje nizova. Osnovna sintaksa foreach petlje je:

foreach($array as $value){
    // Kod koji se treba izvršiti
}

Sljedeći primjer prikazuje foreach petlju koja će ispisati vrijednosti datog niza:

<?php
$colors = array("Crvena", "Zelena", "Plava");
 
// Petlja kojia prolazi kroz niz
foreach($colors as $value){
    echo $value . "<br>";
}
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP foreach petlja</title>
</head>
<body>

<?php
$colors = array("Crvena", "Zelena", "Plava");
 
// Petlja kojia prolazi kroz niz
foreach($colors as $value){
    echo $value . "<br>";
}
?>

</body>
</html>

Postoji još jedna sintaksa foreach petlje, koja je produžetak prve.

foreach($array as $key => $value){
    // Kod koji se treba izvršiti
}
<?php
$superhero = array(
    "name" => "Miloš Mihaljica",
    "email" => "milosmihaljica@mail.com",
    "age" => 18
);
 
// Prođi kroz niz $superhero
foreach($superhero as $key => $value){
    echo $key . " : " . $value . "
";
}
?>