Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Else If -lause | Ehtolauseet
Johdanto PHP:hen

bookElse If -lause

Tarkastellaan nyt tilannetta, jossa useita ehtoja otetaan huomioon:

main.php

main.php

copy
1234567891011121314151617181920212223
<?php $day = "Wednesday"; if ($day == "Monday") { echo "Today is Monday"; } if ($day == "Tuesday") { echo "Today is Tuesday"; } if ($day == "Wednesday") { echo "Today is Wednesday"; } if ($day == "Thursday") { echo "Today is Thursday"; } if ($day == "Friday") { echo "Today is Friday"; } ?>

Tämän koodin haittapuolena on, että jokainen ehto tarkistetaan erikseen, vaikka jokin niistä olisi jo todettu todeksi, mikä johtaa tarpeettomiin tarkistuksiin ja tehottomuuteen. Lisäksi, koska käytössä on erilliset if-lauseet, ei ole mahdollista lisätä else-ehtoa käsittelemään tilanteita, joissa mikään ehto ei täyty. Lisäksi, jos $day-muuttujan arvo teoriassa täsmää useampaan ehtoon, koodi tulostaa useita viestejä samanaikaisesti. Tämän optimoimiseksi voidaan käyttää if ... else if ... else -rakennetta, joka välttää turhat tarkistukset ja mahdollistaa oletustapauksen käsittelyn.

Else if -rakenteen esittely

else if -rakenne tarjoaa ratkaisun tietyn koodilohkon valitsemiseen useiden ehtojen joukosta:

if (condition) {
    // First if code block
} else if (condition) {
    // First else-if code block
} else if (condition) {
    // Second else-if code block
}
// ...

Tämä pseudokoodi havainnollistaa peräkkäisiä ehtotarkistuksia käyttäen if-, else if- ja else-rakenteita. Ohjelma valitsee ensimmäisen koodilohkon, jonka ehto toteutuu, muuten siirtyy seuraavaan else if -ehtoon. Sovelletaan tätä esimerkkiimme:

main.php

main.php

copy
123456789101112131415
<?php $day = "Wednesday"; if ($day == "Monday") { echo "Today is Monday"; } else if ($day == "Tuesday") { echo "Today is Tuesday"; } else if ($day == "Wednesday") { echo "Today is Wednesday"; } else if ($day == "Thursday") { echo "Today is Thursday"; } else if ($day == "Friday") { echo "Today is Friday"; } ?>

Nyt olemme luoneet joukon ehtoja. Kun jokin if-ehtoista tulee true, ketju keskeytyy.

Note
Huomio

Tämä rakenne on hyödyllinen, kun vain yhden ehdon tarvitsee täyttyä.

else-lauseen lisääminen

Voit myös lisätä else-lauseen ehtoketjun jälkeen. Muokataan esimerkkiamme:

main.php

main.php

copy
1234567891011121314151617
<?php $day = "Sunday"; if ($day == "Monday") { echo "Today is Monday"; } else if ($day == "Tuesday") { echo "Today is Tuesday"; } else if ($day == "Wednesday") { echo "Today is Wednesday"; } else if ($day == "Thursday") { echo "Today is Thursday"; } else if ($day == "Friday") { echo "Today is Friday"; } else { echo "No condition is satisfied"; } ?>
Tehtävä

Swipe to start coding

Täydennä koodi tarkistaaksesi lämpötila- ja sääolosuhteet käyttämällä if ... else if ... else -rakennetta.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you show me how the `else` statement works in this context?

What happens if none of the conditions are true?

Can you explain the difference between using multiple `if` statements and using `else if`?

close

Awesome!

Completion rate improved to 4.35

bookElse If -lause

Pyyhkäise näyttääksesi valikon

Tarkastellaan nyt tilannetta, jossa useita ehtoja otetaan huomioon:

main.php

main.php

copy
1234567891011121314151617181920212223
<?php $day = "Wednesday"; if ($day == "Monday") { echo "Today is Monday"; } if ($day == "Tuesday") { echo "Today is Tuesday"; } if ($day == "Wednesday") { echo "Today is Wednesday"; } if ($day == "Thursday") { echo "Today is Thursday"; } if ($day == "Friday") { echo "Today is Friday"; } ?>

Tämän koodin haittapuolena on, että jokainen ehto tarkistetaan erikseen, vaikka jokin niistä olisi jo todettu todeksi, mikä johtaa tarpeettomiin tarkistuksiin ja tehottomuuteen. Lisäksi, koska käytössä on erilliset if-lauseet, ei ole mahdollista lisätä else-ehtoa käsittelemään tilanteita, joissa mikään ehto ei täyty. Lisäksi, jos $day-muuttujan arvo teoriassa täsmää useampaan ehtoon, koodi tulostaa useita viestejä samanaikaisesti. Tämän optimoimiseksi voidaan käyttää if ... else if ... else -rakennetta, joka välttää turhat tarkistukset ja mahdollistaa oletustapauksen käsittelyn.

Else if -rakenteen esittely

else if -rakenne tarjoaa ratkaisun tietyn koodilohkon valitsemiseen useiden ehtojen joukosta:

if (condition) {
    // First if code block
} else if (condition) {
    // First else-if code block
} else if (condition) {
    // Second else-if code block
}
// ...

Tämä pseudokoodi havainnollistaa peräkkäisiä ehtotarkistuksia käyttäen if-, else if- ja else-rakenteita. Ohjelma valitsee ensimmäisen koodilohkon, jonka ehto toteutuu, muuten siirtyy seuraavaan else if -ehtoon. Sovelletaan tätä esimerkkiimme:

main.php

main.php

copy
123456789101112131415
<?php $day = "Wednesday"; if ($day == "Monday") { echo "Today is Monday"; } else if ($day == "Tuesday") { echo "Today is Tuesday"; } else if ($day == "Wednesday") { echo "Today is Wednesday"; } else if ($day == "Thursday") { echo "Today is Thursday"; } else if ($day == "Friday") { echo "Today is Friday"; } ?>

Nyt olemme luoneet joukon ehtoja. Kun jokin if-ehtoista tulee true, ketju keskeytyy.

Note
Huomio

Tämä rakenne on hyödyllinen, kun vain yhden ehdon tarvitsee täyttyä.

else-lauseen lisääminen

Voit myös lisätä else-lauseen ehtoketjun jälkeen. Muokataan esimerkkiamme:

main.php

main.php

copy
1234567891011121314151617
<?php $day = "Sunday"; if ($day == "Monday") { echo "Today is Monday"; } else if ($day == "Tuesday") { echo "Today is Tuesday"; } else if ($day == "Wednesday") { echo "Today is Wednesday"; } else if ($day == "Thursday") { echo "Today is Thursday"; } else if ($day == "Friday") { echo "Today is Friday"; } else { echo "No condition is satisfied"; } ?>
Tehtävä

Swipe to start coding

Täydennä koodi tarkistaaksesi lämpötila- ja sääolosuhteet käyttämällä if ... else if ... else -rakennetta.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3
single

single

some-alt