PHP-ohjausrakenteet: Jos muuta, vaihda kirjainkokoa
โก รlykรคs yhteenveto
Ohjausrakenteet ja silmukat pรครคttรคvรคt PHP-ohjelman polun ja toistavat koodilohkoja tehokkaasti. Tรคmรค lรคpikรคynti selittรครค if-else- ja switch-pรครคtรถsrakenteet ja kรคsittelee sitten for-, while-, do-while- ja foreach-silmukoita, joita kilpailijat odottavat tรคssรค aiheessa.

Mikรค on ohjausrakenne?
Code Suoritus voidaan ryhmitellรค luokkiin alla esitetyllรค tavalla.
- Perรคkkรคinen โ tรคmรค tarkoittaa kaiken koodin suorittamista siinรค jรคrjestyksessรค kuin se on kirjoitettu.
- Pรครคtรถs โ Tรคmรค edellyttรครค valinnan tekemistรค useiden vaihtoehtojen perusteella. Suoritettava koodi riippuu ehdon arvosta.
Ohjausrakenne on koodilohko, joka pรครคttรครค ohjelman suorituspolun asetetun ehdon arvon mukaan.
Tarkastellaan nyt joitakin ohjausrakenteita, jotka PHP tukee.
PHP JOS muu
Josโฆ niinโฆ muu on yksinkertaisin ohjausrakenneSe arvioi ehdot kรคyttรคen Boolen logiikkaa.
Milloin kรคyttรครค, josโฆ sittenโฆ muuten
- Sinulla on koodilohko, joka tulee suorittaa vain, jos tietty ehto on tosi
- Sinulla on kaksi vaihtoehtoa, ja sinun on valittava yksi.
- Josโฆ sittenโฆ muuten josโฆ kรคytetรครคn, kun sinun on valittava enemmรคn kuin kaksi vaihtoehtoa ja sinun on valittava yksi tai useampi
syntaksi. Funktion ifโฆ thenโฆ else syntaksi on:
<?php if (condition is true) { block one } else { block two } ?>
TรSSร,
- "jos (ehto on tosi)โ on ohjausrakenne
- "estรครค yksiโ on koodi, joka suoritetaan, jos ehto on tosi
- muu on varavaihtoehto, jos ehto on epรคtosi
- "lohko kaksiโ on koodilohko, joka suoritetaan, jos ehto on epรคtosi
Kuinka se toimii. Alla oleva vuokaavio havainnollistaa, miten ifโฆ thenโฆ else -ohjausrakenne toimii.
Katsotaanpa tรคtรค toiminnassa. Alla oleva koodi kรคyttรครค "josโฆ sittenโฆ else" mรครคrittรครคkseen suuremman arvon kahden luvun vรคlillรค.
<?php $first_number = 7; $second_number = 21; if ($first_number > $second_number){ echo "$first_number is greater than $second_number"; }else{ echo "$second_number is greater than $first_number"; } ?>
lรคhtรถ:
21 is greater than 7
PHP-kytkinkotelo
Vaihdaโฆ kotelo on samanlainen kuin josโฆ niinโฆ muuten ohjausrakenne.
Se vain teloitettiin yksi koodilohko riippuen arvo kunnosta.
Jos mikรครคn ehto ei tรคyty, suoritetaan oletusarvoinen koodilohko.
Siinรค on seuraava perussyntaksi.
<?php switch(condition){ case value: // block of code to be executed break; case value2: // block of code to be executed break; default: // default block code break; } ?>
TรSSร,
- "vaihtaa(โฆ){โฆ}" on ohjausrakenteen lohkokoodi
- "tapausarvo: tapausโฆ" ovat suoritettavat koodilohkot ehdon arvosta riippuen
- "oletus:" on koodilohko, joka suoritetaan, kun mikรครคn arvo ei vastaa ehtoa
Kuinka se toimii
Alla oleva vuokaavio havainnollistaa kytkimen ohjausrakenteen toimintaa.
Kรคytรคnnรถn esimerkki
Alla oleva koodi kรคyttรครค kytkimen ohjausrakennetta nรคyttรคmรครคn viestin viikonpรคivรคstรค riippuen.
<?php $today = "wednesday"; switch($today){ case "sunday": echo "pray for us sinners."; break; case "wednesday": echo "ladies night, take her out for dinner"; break; case "saturday": echo "take care as you go out tonight."; break; default: echo "have a nice day at work"; break; } ?>
lรคhtรถ:
ladies night, take her out for dinner
PHP-silmukat
Silmukat ovat ohjausrakenteita, jotka toistavat koodilohkoa niin kauan kuin ehto pysyy voimassa. Ne sรครคstรคvรคt saman lausekkeen kirjoittamiselta monta kertaa. PHP tukee neljรครค silmukkatyyppiรค: for, while, do-while ja foreach. Tarkemman oppaan lรถydรคt erillisestรค... PHP-silmukan opetusohjelma.
PHP For Loop
For-silmukkaa kรคytetรครคn, kun tiedรคt etukรคteen, kuinka monta kertaa koodia tulisi suorittaa. Se yhdistรครค laskurin, ehdon ja lisรคyksen yhdelle riville.
<?php for ($i = 0; $i < 5; $i++) { echo $i; } ?>
lรคhtรถ:
01234
PHP While-silmukka
While-silmukka toistaa lohkoa niin kauan kuin sen ehto pysyy tosi. Ehto tarkistetaan ennen jokaista iteraatiota, joten runko voi suorittaa lohkon nolla kertaa.
<?php $i = 0; while ($i < 5) { echo $i; $i++; } ?>
lรคhtรถ:
01234
PHP Do-While -silmukka
Do-while-silmukka on kuin while-silmukka, mutta se tarkistaa ehdon rungon jรคlkeen. Tรคmรค takaa, ettรค lohko suoritetaan ainakin kerran.
<?php $i = 0; do { echo $i; $i++; } while ($i < 5); ?>
lรคhtรถ:
01234
PHP Foreach-silmukka
Foreach-silmukka on suunniteltu taulukoille. Se kรคy lรคpi jokaisen elementin ilman, ettรค sinun tarvitsee hallita indeksilaskinta.
<?php $colors = array("red", "green", "blue"); foreach ($colors as $color) { echo $color . " "; } ?>
lรคhtรถ:
red green blue


