De break-instructie in PHP
Stel we hebben een lus zoals deze, die de elementen van een array op het scherm weergeeft:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
echo $elem;
}
?>
Stel dat onze taak is om te bepalen
of het getal 3 in de array aanwezig is. Als dat zo is
- geven we '+++' weer op het scherm (en
als het niet zo is - doen we niets).
Laten we onze taak oplossen:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
if ($elem == 3) {
echo '+++';
}
}
?>
De taak is opgelost, maar er is een probleem: nadat
het getal 3 al is gevonden, blijft de array
zinloos doorgaan met itereren,
waardoor kostbare processorbronnen worden verspild en
de werking van ons script wordt vertraagd.
Het zou optimaler zijn om direct na het vinden van het
getal de werking van onze lus te beëindigen. Dit
kan worden gedaan met behulp van de speciale instructie
break, die het mogelijk maakt om
de werking van een lus voortijdig te beëindigen.
Laten we dus de lus beëindigen zodra we
het getal 3 tegenkomen:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
if ($elem == 3) {
echo '+++';
break; // stop de lus
}
}
?>
De instructie break kan elke lus beëindigen:
foreach, for, while.
Gegeven een array met getallen. Start een lus die
achtereenvolgens de elementen van deze
array naar de console zal uitvoeren totdat een
element met de waarde 0 wordt aangetroffen. Daarna
moet de lus zijn werk beëindigen.
Gegeven een array met getallen. Vind de som van de elementen, vanaf het begin van de array tot het eerste negatieve getal.
Gegeven een array met getallen. Vind de positie van het eerste
getal 3 in deze array (we nemen aan dat
dit getal zeker in de array zit).
Bepaal hoeveel gehele getallen, te beginnen
met het getal 1, moeten worden opgeteld, zodat de som
groter wordt dan 100.