PHP lektion 8 if-satsen

Med if-satsen kan vi få php att göra logiska val åt oss. En if-sats är ett villkor om måste upfyllas och betraktas som sant för att php skall utföra villkoret. Har vi skrivit kod som värderas som falskt struntar php i detta villkor och går snällt till nästa rad för att utföra nästa komando. Lättast är det nog att se exempel. Har skalat av html-koden för tydlighetens skull, du väljer själv hur du vill göra.

<?php
// Enklast möjliga if-sats för att se principen
$num = 27;
if ($num > 20) echo "Talet är mer än 20";
?>

Webblösaren visar nu snällt Talet är mer än 20. Testa att välja ett värde för variabeln som resulterar att villkoret värderas som falskt. Webbläsaren blir nu tom. Vi gör ett nytt litet script.


<?php
// Lägg märke till klammern och indragningen av koden
$num = 27;
if ($num >20) {
     echo "Talet är större än 20";
}
echo "Detta skrivs ut i alla fall";
?>

Vi är nu här tvungna att använda oss av klammer s.k. "måsvingar", detta för tolken skall veta var i detta fallet if-satsen börjar och slutar. Indragningen av kodraden under görs inte för php-tolken utan helt enkelt för den som arbetar med koden. I ett exempel som ovan ser vi troligen koden som tydlig ändå, men php-skript är ofta på flera hundra rader eller mera. Då är tydlig kodning A och O för den som arbetar med den.

Prova nu själv med lite olika värden på variabeln och olika operatorer. Jag vill bara först visa på ett misstag som är lätt att göra. Det är skillnaden mellan = och = =. Den första betyder inte i php lika med som i grundskolematten utan betyder tilldelas värdet (eng. is set to) vill vi i php skriva lika med får vi använda dubbla tecken ==. Se vidare exempel nedan.



<?php
// Detta blir genast fel ur php:s synvikel
$num = 10;
if ($num = 20) {
     echo "Talet är exakt 20";
     echo $num;
}
echo "Detta skrivs ut i alla fall";
?>

I vebbläsaren ser vi först: Talet är exakt 20 20 Detta skrivs ut i alla fall. Helt enkelt för att vi med ett likhetstecken bara har tilldelat den första variabeln till det nya värdet 20.

<?php
// Detta blir rätt tolkat av php
$num = 10;
if (num == 20){
     echo "Talet är exakt 20";
     echo $num;
}
echo "Detta skrivs ut i alla fall";
?>

Efter korrigeringen av koden till dubbla tecken blir resutatet: Detta skrivs ut i alla fall.

Fördjupning

Kompilator (tolk) är ett datorprogram som översätter från ett språk till ett annat. Ofta från ett högnivåspråk till ett lågnivåspråk. Ex. från C till makinspråk. PHP behöver också en kompilator för att den kod som vi skriver skall förstås av PHP (engine) på servern.

Syntax:
if (uttryck) {
satser som svarar under uttrycket;
}

 

Logga
 
Kontakt | Länka till oss | Min Blogg | Bohuslän   | Mötesmakarna