Mitä if-lauseella tehdään?
Kirjallisesti:
Jos muuttuja on 1 koodi tulostaa riville "Vulpes", jos muuttuja on eri kuin 1 koodi tulostaa käyttäjälle tekstin "zoorweb".
Koodina:
<?php
if ($muuttuja == 1){
echo "Vulpes";
}else{
echo "ZooRweb";
}
?>
Eli yksinkertaisuudessan if lauseella verrataan muuttujan arvoa toiseen muuttujaan, ja tuloksesta riippuen, toteutetaan koodi. Else lause ei ole pakollinen eli:
<?php
if ($muuttuja == 1){
echo "Vulpes";
}
?>
Tällöin tulostetaan vain Vulpes silloin, kun $muuttujalla on arvo 1.
Ehdot:
- $muuttuja == $muuttuja2 --> $muuttuja on sama kuin $muuttuja2
- $muuttuja <> $muuttuja2 --> $muuttuja ei ole sama kuin muuttuja $muuttuja2
- $muuttuja > $muuttuja2 --> $muuttuja on suurempi kuin $muuttuja2
- $muuttuja < $ muuttuja2 --> $muuttuja on pienempi kuin $muuttuja2
- $muuttuja <= $muuttuja2 --> $muuttuja on pienempi tai yhtäsuuri kuin $muuttuja2
- $muuttuja >= $muuttuja2 --> $muuttuja on suurempi tai yhtäsuuri kuin $muuttuja2
Tehdäänpä tässä toinen esimerkki.
<?php
if ($muuttuja == 1 AND $muuttuja > 5)
echo "Vulpes";
elseif ($muuttuja == 1 && $muuttuja > 5)
echo "Vulpes2";
elseif ($muuttuja == 1 OR $muuttuja > 5)
echo "Vulpes3";
elseif ($muuttuja == 1 || $muuttuja > 5)
echo "Vulpes4";
else
echo "ZooRweb";
?>
Tässä esimerkissä käytimme loogisia operaattoreita. AND ja OR tai. && on sama asia kuin AND ja vastaavasti || on sama asia kuin OR. Lisäsimme if laiseeseen myös eri ehtoja elseif avulla. Tämä saataisiin toteutettua myös näin:
<?php
if ($muuttuja == 1 AND $muuttuja > 5){
echo "Vulpes";
}else{
if ($muuttuja == 1 && $muuttuja > 5) {
echo "Vulpes2";
}else{
if ($muuttuja == 1 OR $muuttuja > 5){
echo "Vulpes3";
}else{
if ($muuttuja == 1 || $muuttuja > 5){
echo "Vulpes4";
}else{
echo "ZooRweb";
}
}
}
}
?>
Kuten huomaatte elseif helpottaa elämäänne huomattavasti. Myös loogisilla operaattoreilla on vähän samantapainen tarkoitus, kuin elseif lauseella, eli helpottaa hieman koodaamista, kun jokaiselle ehdolle ei tarvi tehdä omaa if lausettaan. Loogisia operaattoreita voi yhdistää lauseeseen vaikka kuinka paljon:
<?php
if ($muuttuja == 1 AND $muuttuja > 5 OR $muuttuja == 2 OR $muuttuja >
100 AND $muuttuja == 7 OR $muuttuja > 8){
echo "Vulpes";
}
?>
OR operaattori yksinkertaisesti antaa vaihtoehdon toteutumiselle. Eli voidaan määrittää, että muuttuja on joko 1 tai 2 niin ehto toteutuu.
<?php
if ($muuttuja == 1 || $muuttuja == 2){
echo "vulpes";
}
?>
AND operaattori taasen antaa meille lisäehdon. Eli tässä tapaukseessa $muuttujan pitää olla 1 ja $muuttuja2 pitää olla 2 että ehto toteutuu.
<?php
if ($muuttuja == 1 && $muuttuja2 == 2){
echo "vulpes";
}
?>
Eli vältetään tälläiset solmut koodissa:
OR:
<?php
if ($muuttuja == 1){
echo "vulpes";
}
if ($muuttuja == 2){
echo "vulpes";
}
?>
AND:
<?php
if ($muuttuja == 1){
if ($muuttuja2 == 2){
echo "vulpes";
}
}
?>
Seuraavassa oppaassa käsittelemme while ja for lauseet.
-KoLja 19.10.2006


