Contiune, ciklus átugrása

Ciklusok belsejében használható struktúra

Programunk figyelmeztet, ha 0-val végzünk műveletet, azaz a következő figyelmeztetést jeleníti meg:
Warning: Division by zero in, majd kiírja, melyik fájlban és hányadik sorban (on line ...) talált értékelhetetlen műveletet.

 


Normál esetben, a for ciklus által elvégzett műveletek eredményei.
<?php
for ($i=4;$i>-5;$i--)
	{
	  print(" <br /> 10 / $i = ". 10/$i);
	}
?>

PHP 5.4.xx verziótól kezdve, a "0"-val történő műveleteket, ugorjuk át.

<?php
for ($i=4;$i>-5;$i--)
	{
	     if($i==0){continue;}
	        print(" <br /> 10 / $i = ". 10/$i);
	}
?>
Programunk eredménye:

10 / 4 = 2.5
10 / 3 = 3.3333333333333
10 / 2 = 5
10 / 1 = 10
10 / -1 = -10
10 / -2 = -5
10 / -3 = -3.3333333333333
10 / -4 = -2.5
Példa, osztás nullával, PHP 5.4.xx verziótól kezdve, hibát generál.
10/0 van meghatározva, ezt a program, hibajelzéssel (Division by zero in) értékeli.
Hiba elhárítás:
1. Nem helyezünk el olyan utasítást, melyben osztás vagy szorzás 0-val történik.
2. Ha ezt a porgram, például a for ciklus produkálja lefutás közben, akkor egy if($i==0){continue;} utasítással, ugorjuk át.

 


Normál esetben, a cikluson belüli feltétellel, csak a +2-vel történő műveletet íratjuk ki.
<?php

for ($i=4;$i>-5;$i--)
	{
	if ($i==2)
	print(" <br /> 10 / $i = ". 10/$i);
	}

?>
Programunk eredménye:

10 / 2 = 5

 


A continue utasítással, az előbbi példa fordítottja áll elő, az a feltétel nem teljesül, melyet a feltételben megadtunk, azaz, átugorja programunk.
A +2-es értékkel történő műveletet átugorjuk, azaz nem íratjuk ki.
<?php

for ($i=4;$i>-5;$i--)
	{
	if ($i==2 OR $i==0) continue;
	print(" <br /> 10 / $i = ". 10/$i);
	}

?>
Programunk eredménye:

10 / 4 = 2.5
10 / 3 = 3.3333333333333
10 / 1 = 10
10 / -1 = -10
10 / -2 = -5
10 / -3 = -3.3333333333333
10 / -4 = -2.5

 


Páratlan számú műveletek kiíratása.

<?php

for ($i=4;$i>-5;$i--)
	{
	if ($i % 2)
	print(" <br> 10 / $i = ". 10/$i);
	}

?>

10 / 3 = 3.3333333333333
10 / 1 = 10
10 / -1 = -10
10 / -3 = -3.3333333333333
Páratlan számú műveletek kiíratásának átugrása.

<?php

for ($i=4;$i>-5;$i--)
	{
	if ($i % 2 OR $i==0) continue;
	print(" <br> 10 / $i = ". 10/$i);
	}

?>

10 / 4 = 2.5
10 / 2 = 5
10 / -2 = -5
10 / -4 = -2.5

 


 

Megjegyzés : 
Ne feledjük, hogy a PHP-ben a switch utasítás használata ismétlődő struktúrája szempontjából,
továbbra is elfogad egy elhagyható szám paramétert, amely megadja, hogy hány egymásba ágyazott struktúrának 
a hátralévő részét kell átugrani a végére.

A 0, és  1, ugyanaz, mint amikor a futás tovább folytatódik.
<?php
$i = 0;
while ($i++ < 5) {
    echo "Outer, azaz külső<br />\n";
    while (1) {
        echo " Middle, azaz középső<br />\n";
        while (1) {
            echo "  Inner, azaz belső<br />\n";
// continue nem tíiltható le, 
// értékének:  1-et és 2-őt ne írj be, mert végtelen ciklus lesz, irhatunk 3-at vagy 4-et
            continue 3;
        }
        echo "Ezt soha nem fogja kiírni.<br />\n";
    }
    echo "Ezt sem.<br />\n";
}
echo "Ezt akkor, ha értéke 3. <br />\n";
?>
Outer, azaz külső
 Middle, azaz középső
  Inner, azaz belső

Outer, azaz külső
 Middle, azaz középső
  Inner, azaz belső

Outer, azaz külső
 Middle, azaz középső
  Inner, azaz belső

Outer, azaz külső
 Middle, azaz középső
  Inner, azaz belső

Outer, azaz külső
 Middle, azaz középső
  Inner, azaz belső

Ezt akkor, ha értéke 3