Flags in PHP-functies
In functies kunnen flags gebruikt worden
op een impliciete manier met behulp van de instructie
return. Laten we eens kijken
hoe dit wordt gedaan. Stel we hebben de
volgende functie die controleert
of alle elementen in een array positieve
getallen zijn:
<?php
function isPositive($arr) {
$flag = true;
foreach ($arr as $elem) {
if ($elem < 0) {
$flag = false;
}
}
return $flag;
}
?>
Laten we de code van de functie herschrijven met behulp van impliciet gebruik van flags:
<?php
function isPositive($arr) {
foreach ($arr as $elem) {
if ($elem < 0) {
return false;
}
}
return true;
}
?>
Hoe dit werkt: als er een element in de array wordt gevonden
dat aan de voorwaarde voldoet - verlaten we de functie
(en ook de lus) met behulp van return.
Maar als er in de array geen enkel element wordt gevonden dat aan de voorwaarde voldoet
- zal de functie niet voortijdig verlaten worden en zal de uitvoering
de opdracht return true bereiken. En
dan zal de functie true teruggeven
als teken dat alle elementen in de array
positief zijn.
Maak een functie die als parameter een array met getallen zal ontvangen, en controleert of alle elementen in deze array even getallen zijn.
Maak een functie die als parameter een getal zal ontvangen en controleert of alle cijfers van dit getal oneven zijn.
Maak een functie die als parameter een array zal ontvangen en controleert of er in deze array twee identieke elementen direct achter elkaar voorkomen.