All pastes #210374 Raw Edit

Someone

public text v1 · immutable
#210374 ·published 2006-10-19 18:16 UTC
rendered paste body
<?php include("header.php"); ?>
<h3>Komentorakenteet - if-lause.</h3>
<h4>Mitä if-lauseella tehdään?</h4>

<strong>Kirjallisesti:</strong>
<p class="sis">Jos muuttuja on 1 koodi tulostaa riville "Vulpes", jos muuttuja on eri kuin 1 koodi tulostaa käyttäjälle tekstin "zoorweb".</p>

<strong>Koodina:</strong>
<?php
function xhtml_highlight($str) {
   $hlt = highlight_string(stripslashes($str), true);
   $fon = str_replace(array('<font ', '</font>','<br />'), array('<span ', '</span>','   '), $hlt);
   $ret = preg_replace('#color="(.*?)"#', 'style="color: \\1"', $fon);
   echo '<pre class="koodi" style="font-size:1.1em; line-height:1.0;">'.$ret.'</pre>';
   return true;
}

xhtml_highlight('
<?php
if ($muuttuja == 1){

echo "Vulpes";

}else{

echo "ZooRweb";

}
?>');
?>

<p class="sis">Eli yksinkertaisuudessan if lauseella verrataan muuttujan arvoa toiseen muuttujaan, ja tuloksesta riippuen, toteutetaan koodi. Else lause ei ole pakollinen eli:</p>
<?php
xhtml_highlight('
<?php
if ($muuttuja == 1){

echo "Vulpes";

}
?>');
?>

<p class="sis">Tällöin tulostetaan vain Vulpes silloin, kun $muuttujalla on arvo 1.</p>

<strong>Ehdot:</strong>
<ul>
<li>$muuttuja == $muuttuja2 --&gt; $muuttuja on sama kuin $muuttuja2</li>
<li>$muuttuja &lt;&gt; $muuttuja2 --&gt; $muuttuja ei ole sama kuin muuttuja $muuttuja2</li>
<li>$muuttuja &gt; $muuttuja2 --&gt; $muuttuja on suurempi kuin $muuttuja2</li>
<li>$muuttuja &lt; $ muuttuja2 --&gt; $muuttuja on pienempi kuin $muuttuja2</li>
<li>$muuttuja &lt;= $muuttuja2 --&gt; $muuttuja on pienempi tai yhtäsuuri kuin $muuttuja2</li>
<li>$muuttuja &gt;= $muuttuja2 --&gt; $muuttuja on suurempi tai yhtäsuuri kuin $muuttuja2</li>
</ul>

<strong>Tehdäänpä tässä toinen esimerkki.</strong>
<?php
xhtml_highlight('
<?php
if ($muuttuja == 1 AND $muuttuja > 5)
echo "Vulpes";

elseif ($muuttuja == 1 && $muuttuja > 5)
echo "Vulpes2";

elseif ($muuttuja == 1 OR $muuttuja > 5)
echo "Vulpes3";

if ($muuttuja == 1 || $muuttuja > 5)
echo "Vulpes4";

else
echo "ZooRweb";
?>');
?>

<p class="sis">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:</p>
<?php
xhtml_highlight('
<?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";
}
}
}
}
?>');

?>

<p class="sis">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:</p>
<?php
xhtml_highlight('
<?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.

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.

if ($muuttuja == 1 && $muuttuja2 == 2){
echo "vulpes";
}

Eli vältetään tälläiset solmut koodissa:

OR:
if ($muuttuja == 1){
echo "vulpes";
}
if ($muuttuja == 2){
echo "vulpes";
}
AND:
if ($muuttuja == 1){
if ($muuttuja2 == 2){
echo "vulpes";
}
}
?>');

?>


<p class="sis">Seuraavassa oppaassa käsittelemme while ja for lauseet.</p>

<p>-KoLja 19.10.2006</p>
<?php include("footer.php"); ?>