Příkaz break v PHP
Předpokládejme, že máme takovou smyčku, která vypisuje prvky pole na obrazovku:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
echo $elem;
}
?>
Předpokládejme, že naším úkolem je zjistit,
zda pole obsahuje číslo 3. Pokud ano,
vypíšeme na obrazovku '+++' (a
pokud ne, nic neděláme).
Vyřešme náš úkol:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
if ($elem == 3) {
echo '+++';
}
}
?>
Úkol je vyřešen, ale existuje problém: poté,
co bylo číslo 3 již nalezeno, se pole
stále bezúčelně prochází dál, čímž se plýtvají
cenné prostředky procesoru a zpomaluje se práce
našeho skriptu.
Bylo by optimalnější okamžitě po nalezení
čísla ukončit práci naší smyčky. To
lze provést pomocí speciálního příkazu
break, který umožňuje předčasně ukončit
práci smyčky.
Pojďme tedy ukončit smyčku, jakmile narazíme
na číslo 3:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
if ($elem == 3) {
echo '+++';
break; // ukončíme smyčku
}
}
?>
Příkaz break může ukončit jakékoli smyčky:
foreach, for, while.
Je dáno pole s čísly. Spusťte smyčku, která
bude postupně vypisovat prvky tohoto
pole do konzole, dokud nenarazí na
prvek s hodnotou 0. Poté
by se smyčka měla ukončit.
Je dáno pole s čísly. Najděte součet prvků, umístěných od začátku pole do prvního záporného čísla.
Je dáno pole s čísly. Najděte pozici prvního
čísla 3 v tomto poli (předpokládáme, že
toto číslo je v poli určitě obsaženo).
Určete, kolik celých čísel, počínaje
číslem 1, je třeba sečíst, aby součet
byl větší než 100.