Liput PHP-funktioissa
Funktioissa voidaan käyttää lippuja
epäsuorasti return-käskyn avulla.
Katsotaan kuinka tämä tehdään. Oletetaan, että meillä on
seuraava funktio, joka tarkistaa,
ovatko kaikki taulukon alkiot positiivisia
lukuja:
<?php
function isPositive($arr) {
$flag = true;
foreach ($arr as $elem) {
if ($elem < 0) {
$flag = false;
}
}
return $flag;
}
?>
Kirjoitetaan funktion koodi uudelleen käyttämällä lippuja epäsuorasti:
<?php
function isPositive($arr) {
foreach ($arr as $elem) {
if ($elem < 0) {
return false;
}
}
return true;
}
?>
Miten tämä toimii: jos taulukosta löytyy
haluttu alkio - poistumme funktiosta
(samalla myös silmukasta) return-käskyn avulla.
Mutta jos taulukosta ei löydy haluttua alkiota
- funktiosta ei poistuta ja suoritus
pääsee return true-käskylle. Ja
käy niin, että funktio palauttaa true
merkkinä siitä, että kaikki taulukon alkiot
ovat positiivisia.
Tee funktio, joka parametrina vastaanottaa taulukon numeroita, ja tarkistaa, että kaikki tämän taulukon alkiot ovat parillisia numeroita.
Tee funktio, joka parametrina vastaanottaa luvun ja tarkistaa, että kaikki luvun numerot ovat parittomia.
Tee funktio, joka parametrina vastaanottaa taulukon ja tarkistaa, onko tässä taulukossa kaksi samanlaista alkiota peräkkäin.