PHP Les 5 : If functie Interessante links: o o
http://www.dbzweb.be/moermant/ http://www.ivobrugge.be/Cursusweb/html4/formulieren.asp
Vaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende beslissingen. Je kan daarbij keuzestructuren gebruiken. In PHP zijn er 2 keuzestructuren: • •
if (...else) statement – gebruik deze structuur wanneer we acties moeten uitvoeren als de voorwaarde waar is (en een andere actie als de voorwaarde onwaar is) switch statement – gebruik deze stuctuur als je een variabele wilt vergelijken met een aantal verschillende waarden.
De If Statement ~Selectie~ Hiermee kan een voorwaarde worden aangegeven voor de uitvoer van statements en expressies: De waarheidswaarde van de operator wordt bepaald. Is de operator waar, dan wordt het daarop volgende statement uitgevoerd. Is de operator niet waar, dan wordt het statement genegeerd (of bij else: wordt het daarop volgende statement uitgevoerd)
Controlestructuren Een selectie is een basisstructuur die een keuze aangeeft tussen twee mogelijke sequenties, gekoppeld aan een voorwaarde. Voorbeeld: In een winkel wordt 20% korting gegeven als het aankoopbedrag groter is dan 10000 EUR, 10% korting in alle andere gevallen.
If functie
Eénzijdige selectie Nassi-Schneidermanndiagram
Voorbeeld 1 Probleemstelling Indien je 25 EUR zakgeld hebt, zul je in een muziekwinkel moeten beslissen of je een cd kunt kopen of niet.
Probleemdefinitie gegevens : Je hebt 25 EUR zakgeld Je wil een cd kopen Indien de cd minder dan of net 25 EUR kost dan moet je hem beslist kopen.
Probleemanalyse grofstructuur
If functie
25
Programmeren in php If in php
if (voorwaarde1) {
if (voorwaarde1) {
doe_1;
doe_1;
} elseif (voorwaarde2){
} else {
doe_2;
doe_standaard;
} else {
}
doe_standaard;
?>
} ?>
Vergelijkingsoperatoren Voorwaarde: De voorwaarde moet steeds getoetst worden via vergelijkingsoperatoren. Deze zijn: Vergelijkingsoperatoren worden gebruikt om waarden met elkaar te vergelijken. Het resultaat van de vergelijking is true of false. Deze operatoren worden voornamelijk gebruikt bij statements waar voorwaarden kunnen worden uitgevoerd (IF, FOR, WHILE enz.):
Operator
Description
Example
==
Is gelijk aan
5==8 geeft false
!=
Is niet gelijk aan
5!=8 geeft true
>
Groter dan
5>8 geeft false
If functie
<
Kleiner dan
5<8 geeft true
>=
Groter of gelijk aan
5>=8 geeft false
<=
Kleiner of gelijk aan
5<=8 geeft true
Voorbeeld:
if ($prijs<=25) { echo”Snel cd kopen”;
} else { echo”Te duur”;
} ?>
Logische Operatoren: EN, OF, NIET functies. Operator
Description
Example
&&
and
x=6 y=3 (x < 10 && y > 1) returns true
||
or
Waar, wanneer $a en $b waar zijn x=6 y=3 (x==5 || y==5) returns false
!
not
Waar, wannneer $a of $b waar is, maar niet beide x=6 y=3 !(x==y) returns Waar, wanneer $ niet waar is
If functie
Na de control keyword (if, elseif, while, ...) moet er een spatie komen (voor de openingshaken), om een onderscheid te maken tussen controlestructuren en functie-aanroepen (dus niet: if(...) maar if (...). De openingsaccolade ({) komt op dezelfde regel als het control keyword. Het hele opdrachtenblok springt 4 posities in. De sluitaccolade (}) komt op dezelfde hoogte als het control keyword. Wordt het statement nog uitgebreid (bv. met elseif of else), dan volgt dit commando direct na de sluitaccolade. U wordt aangemoedigd altijd accolades te gebruiken, ook wanneer dit technisch niet vereist is (als er bv. maar één uit te voeren opdracht is). Dit bevordert leesbaarheid, en vermindert aanzienlijk de kans op fouten wanneer nieuwe regels code worden toegevoegd.
If functie
Het programmeren Oefening Probleemstelling We maken een drietal-toetsen op 10 punten. De resultaten moeten op het scherm komen en nadien moet indien we minder dan 15 op 30 hebben de tekst verschijnen 'dit is echt te weinig'
Probleemdefinitie We moeten alvast drie variabelen definiëren (toets1, toets2, toets3). Daarna moeten we de resultaten weergeven op het scherm (document.write). We bereken de som van de drie toetsen (resultaat). We vergelijken ons resultaat met het te behalen resultaat en geven indien nodig commentaar.
Probleemanalyse
Extra oefeningen Denk steeds aan de 5 fasen bij het oplossen van een probleem. Teken ook telkens een NassiSchneidermann diagram zodat de structuur van de oefening duidelijk wordt. In de computershop krijgt men bij aankoop van minstens 1000 euro een doosje disketten en 2% korting. Anders krijgt men alleen een muismatje gratis. Bereken, bij invoer van het bdrag van de aankoop, hoeveel er moet betaald worden en wat men als cadeau krijgt. Bij een benzinestation bedraagt de prijs van 1 liter 1,10 euro. Men krijgt 3% korting indien men meer dan 35 liter tankt. De vrouwelijke chauffeurs krijgen een schoonheidsgeschenkje en de mannen zegels ter waarde van 50cent per liter indien ze meer dan 43 liter tanken. Bereken voor deze handel het te betalen bedrag en ook wat de klant krijgt in natura, bij invoer van het geslacht.
If functie