# Gepost op 09-01-2010 20:52
Bewerkt door vlerknozem op 21-01-2010 20:13
Bewerkt door vlerknozem op 21-01-2010 20:13
Inleiding
In deze tutorial probeer ik jullie de basis van PHP bij te brengen. PHP staat voor PHP Hypertext Preprocessor, en is een server-sided scripting taal. Dit wil zeggen dat de php-code op de server wordt uitgevoerd en vervolgens wordt omgezet en verstuurd naar de browser. Gewonelijk wordt het omgezet (geparsed) naar html of plain-text. Maar het is ook mogelijk om het om te zetten naar css, javascript, pdf, swf (flash), afbeeldingen, enzovoorts. Omdat ik deze tutorial voor beginners is bedoeld zal ik het daar voor de rest ook niet over hebben.
Voor PHP heb je een server nodig die het ondersteund. Dit kan een hosting zijn waar jij je website op host, maar ook een lokale virtuele server op je eigen computer. Voor windows raad ik xampp of wamp aan, voor linux raad ik aan om het handmatig te installeren.
Dan heb je nog iets nodig waar jij je code in gaat schrijven. Voor windows raad ik notepad++ aan, voor linux (gnome) kan je gedit gebruiken. In principe is dit geheel jou eigen keuze, maar het is wel zo makkelijk als je regelnummering hebt en een syntaxhighlighter.
Let op dat je je bestanden waarin je php gebruikt altijd opslaat met de extensie .php! Anders zal je gewoon de php code zien in de browser.
Alle pagina's waar je php in wilt gebruiken zal je de extensie '.php' moeten geven. Een extensie is het laatste gedeelte van een bestandsnaam. Bij 'voorbeeld.php' is 'voorbeeld' de bestandsnaam en '.php' de extensie.
Om te beginnen krijg je een "hallo wereld" script:
Zoals je ziet gebruik ik '<?php' en '?>'. Dit zijn de openings- en sluit tags van PHP. Deze kan je overal in je pagina gebruiken. Dus ook binnen html tags. In het voorbeeld zie je het woord 'echo'. Dit is om tekst op het scherm te krijgen. De tekst (in dit geval 'Hallo wereld') is een string. Een string is een van de velen datatypes die php heeft. Let erop dat je de string tussen quotes zet. Dit mogen enkele quotes zijn, maar ook dubbele quotes. Het verschil leg ik later uit.
Variabelen zijn bepaalde dingen die variabele data kunnen bevatten. Een variabele kan zo bijvoorbeeld een string bevatten. Deze string kan je dan later weer ergens gebruiken, of aanpassen. Of je geeft deze variabele een andere datatype.
Een variabele maak je zo aan:
Zoals je ziet gebruik ik een dollar-teken. Hiermee geef je aan dat het om een variabele gaat. In dit geval heeft de variabele de naam 'test' en bevat het een string. Maar een variabele kan natuurlijk ook andere datatypes bevatten. Het deel over variabele ga ik verder in deze tutorial nog uitgebreider behandelen.
Tot nu toe heb ik al best vaak de term 'datatypes' gezegd. Maar wat bedoel ik daar nu mee? In het Nederlands ken je bijvoorbeeld getallen, teksten, etc. Getallen zijn in php integers (int), teksten zijn strings.
Enkele datatypes op een rijtje:
– string
– integer (int)
– array
– boolean (bool)
– float
Nu geef ik een voorbeeld code waarin ik bovenstaande datatypes gebruik.
Als het goed is zou je nu moeten weten wat een string is. In het kort gezegd; een string is een stukje tekst dat je in een variabele kan zetten, of kan echoën. Maar je kan een string ook onderbreken, om er bijvoorbeeld een variabelen in te zetten.
Zoals je ziet plaats ik de variabele '$woord' in de string. Hiervoor onderbreek ik de string door hem af te sluiten met een quote. Normaal plaats je dan een puntkomma, maar omdat we verder willen gaan met deze variabele gebruik je nu een punt. Deze punt is om elk deel te scheiden van elkaar. Zo scheid je de variabele van de string aan de linker kant en van de string aan de rechter kan. Stel je gebruikt meer variabelen dan krijg je dit:
Maar waar je op moet letten, als je op het begin een variabele gebruikt hoef je dus geen quotes te gebruiken op het begin. Op het eind geldt hetzelfde. Daarom even een paar voorbeelden:
Als je bovenstaand voorbeeld bekijkt valt je misschien nog iets op. Ik vul steeds opnieuw de variabele $string. Als ik iets nieuws in de variabele zet, dan wordt het oude gewist. Nu is er nog een andere manier om een string te hervatten:
Dus wat je nu weer leert is dat je met '.=' meer data aan een bestaande variabele toevoegd, en met '=' de oude inhoud van de variabel wist en de nieuwe data erin zet.
Nog even een tussen door, zoals je in enkele bovenstaande voorbeelden ziet, er staan delen in de code zoals '// Dit is een mooie wereld'. Met '//' begin je een commentaar voor die regel. Commentaar is bedoeld om bepaalde delen code te beschrjven. Zie het als een soort notities. Deze hebben verder geen invloed op de code zelf.
Zoals ik al zei zijn integers gewoon getallen. Verder is het niet zo bijzonder.
Zoals je moet opvallen hoef je bij een int geen quotes te gebruiken. Met integers kan je weer rekenen, maar daar kom ik later weer op terug.
Dit zijn een soort lijsten. Je kan het zien alsof je meerdere variabelen in een variabele opslaat. Een array maak je zo aan:
Nu heb je in feite een lege array. We gaan deze nu eens vullen.
Om deze waardes a, b, en c te kunnen bereiken gebruik je keys. De keys zijn getallen die zich optellen vanaf nul. Zo heeft a de key 0, b heeft 1, en c heeft 2. Om nu 'b' te bereiken gebruik je dit:
Nu kan je ook zelf de keys bepalen. Kijk maar naar dit voorbeeld:
Nu gebruik ik steeds slechts een letter als key, maar het kunnen ook woorden zijn. Je kan arrays ook anders maken. Het eerste voorbeeld waar de keys automatisch worden gegeven kan je ook zo doen:
De tweede manier, waar je de keys zelf invult kan je dan ook zo doen:
Verder wil ik nu niet teveel ingaan op arrays omdat het anders teveel wordt.
Een bool heeft maar een kleine functie. Het bevat altijd de waarde TRUE of FALSE. In principe kan je true zien als 1 of als waar. False kan je zien als 0 of als niet waar.
Floats kan je vergelijken met integers. In de wiskunde heb je hele getallen en getallen met decimalen. In PHP is een integer een heel getal en een getal met decimalen is een float.
Waar je op moet letten is dat je in php een punt gebruikt om het getal van de decimalen te scheiden. Je moet er dus geen komma zetten zoals we in Nederland doen, want dat geeft een fout.
Je hebt nu geleerd dat je bij strings gebruik maakt van quotes. Maar er zijn twee soorten quotes die we kunnen gebruiken. En tussen beide zit een verschil. Dubbele quotes kunnen namelijk variabelen bevatten en kunnen ook tekens als \n (nieuwe regel), \t (tab), etc parsen.
Bekijk het verschil maar tussen de volgende twee codes.
Code 1:
Code 2:
Met de eerste code zie je gewoon precies wat er in de string staat. Bij de tweede zie je in de string het woord appel staan, en je ziet de enter en de tab. Wel raad ik aan om de variabelen niet binnen de quotes te zetten maar er buiten.
Nog even om terug te komen op het gedeelte van commentaar. Commentaar wordt door programmeurs vaak gebruikt om de code wat duidelijker te maken voor de mens om te gebruiken. Of om een copyright in de code te zetten. De commentaar wordt door php genegeerd en heeft dus geen invloed. Er zijn die manier om commentaar te plaatsen.
In php hebben we 'if'. Dit betekend in het Nederlands 'als'. Dus 'als dit doe dat'.
Nu zal bovenstaande code fouten geven. Met bovenstaande if-structuur kunnen we controlleren of een variabele iets bevat.
In dit geval kijken we of variabele a true is. Maak je er 'false' van dan zal er niks gebeuren. Als $a is string is die gevult is zal er wel iets gebeuren. Als $a leeg is zal er niks gebeuren. Maar nu wil ik verder gaan met het vergelijken. Hiervoor gebruiken we operators. Enkele operators:
== : is gelijk aan
!= : is niet gelijk aan
> : is groter dan
< : is kleiner dan
>= : is groter dan OF gelijk aan
<= : is kleiner dan OF gelijk aan
Nu geef ik enkele voorbeelden die dit duidelijk zouden moeten maken.
Ik denk dat dit nu duidelijk moet zijn. Maar watt nu als we meerdere argumenten hebben? Daarvoor hebben we nog een paar operators:
&& : En
and : En
|| : Of
OR: Of
Laten we weer eens kijken naar een paar voorbeelden.
Als je het laatste voorbeeld bekijkt zie je dat er nog extra haakjes in staan. De rede dat ik deze hier heb geplaatst is omdat ik && en || in een if gebruik.
Nu de if-structuur duidelijk is ga ik het hebben over if-else. Het idee is, indien dit dit doe, anders doe dat.
Dit is in prinicipe hetzelfde als else, alleen dan kan je hier net als bij if een voorwaarde geven.
Een switch is bijna hetzelfde als if-elseif-else, maar dan anders opgeschreven. Dit is erg handig als je een lange if-elseif-else structuur hebt. Om de switch in een keer duidelijk te maken geef ik weer een voorbeeld:
Zoals je ziet gebruik ik steeds 'break'. Dit is nodig of de case af te sluiten. Want als ik de break bij de case 'appel' weghaal dan gaat hij verder bij banaan. Een case wordt namelijk pas afgesloten bij de eerst volgende break. Daarom nu het volgende voorbeeld:
Dat moet nu ook duidelijk zijn. Wat wel nog op gevallen moet zijn is het woordje 'default'. Zoals het woordt al zegt, dit is de standaard case. Als er geen enkele case voldoet aan de eisen pakt hij de default. Net zoals 'else' bij een if-structuur.
In PHP kan je gebruik maken van functies. Hiermee kan je bepaalde code vaker opnieuw uitvoeren. Een voorbeeld.
Iedere keer wanneer je de functie 'test()' aanroept wordt er nu het woord 'appel' gereturned. Maar je kan ook argumenten meegeven aan de functie.
Als je meerdere argumenten wilt gebruiken kan je deze scheiden met komma's.
Bij de laatste test (citroenen) wordt het argument 'aantal' niet ingevuld. De $aantal in de functie zal dan de waarde NULL hebben, oftewel niks. Als je nu wil dat het aantal standaard 4 is dan kan je dat doen door de variabele al in te vullen.
Naast je eigen functies zijn er ook nog standaard functies in php. Let erop dat je niet twee keer een functie kan maken met dezelfde naam.
In PHP heb je ook superglobals. Dit zijn voorgedefinieerde variabelen. Je kan ze herkennen aan het lage streepje tussen het dollar-teken en de variabelenaam. Enkele superglobals:
$_GET
$_POST
$_SERVER
$_FILE
De eerste twee zal je misschien het meeste gaan gebruiken. Een tip, superglobals zijn in feite arrays.
Deze superglobal is handig om argumenten uit de url te halen. Stel je hebt een url als 'voorbeeld.php?a=appel&b=banaan', dan zitten hier in feite twee variabelen in. De variabelnamen wordt gebruikt als keys in de $_GET array.
Deze superglobal is bijna hetzelfde als $_GET. Maar via post kan je meer data versturen. Even een voorbeeld:
Als je het formulier verstuurd dan wordt er "Hallo Wereld" geechoed. De name van een form-element wordt gebruikt als key in de $_POST array. Maar in dit voorbeeld maak ik een grote fout. Als je de pagina voorbeeld.php laad, dan wordt de post variabele direct geechoed. In dit geval zal je dat als gebruiker niet merken, maar het is zeker niet de bedoeling. Het geeft dan ook een E_NOTICE error. Dit zijn errors die niet zo belangrijk zijn en vaak standaard niet eens worden weergeven.
Maar hoe moet het dan wel? Hiervoor hebben we de $_SERVER superglobal nodig. In deze superglobal kunnen we namelijk de request method opvragen. Dit is de manier waarop de pagina op dat moment is benaderd. Namelijk via get of via post.
In PHP kan je ook rekenen. Dit kunnen heel simpele optelsommen zijn, maar ook ingewikkelde sommen. Hiervoor gebruik je weer operators:
+ : Optellen
– : Aftrekken
* : Vermenigvuldigen
/ : delen
^ : machten
++ : Optellen met 1
-- : Aftrekken met 1
Dus bijvoorbeeld:
Een while-loop is te vergelijken met een if-structuur. Maar dan wordt het steeds herhaalt totdat er niet meer wordt voldaan aan de voorwaarden.
Bijvoorbeeld:
Nu zal je maar een keer het woord kaas zien. Dus dit heeft weinig zin. Dus nu even met een teller:
Nu zal de while-loop herhaalt worden totdat $test niet meer kleiner is dan 10. Wat handig is om te weten is dat je de while-loop erg goed kan gebruiken als je met MySQL werkt. Maar dat behandel ik niet in deze tutorial.
Een for-loop is hetzelfde als een while-loop, maar dan gebeurd dit met tellen.
In dit geval heb je een teller. Namelijk $i. Deze zet je op 0. Vervolgens kijk je of de teller kleiner is dan 10, en zo ja dan wordt $i gevolgd door een <br /> geechoed. Daarna wordt er bij de teller het getal een bijgeteld. Om de loop eerder te onderbreken kan je 'break' gebruiken. Dit ben je al eerder tegen gekomen bij de switch.
Natuurlijk mag $i ook een andere variabele zijn, en natuurlijk kan je de teller ook laten aftellen. Maar let er wel op, zorg ervoor dat de loop wel kan stoppen. Anders zal je browser het niet leuk vinden, en wellicht blijven haken!
Dit is een loop om arrays uit te lopen.
Of wat ook kan:
Een handige php functie om van te weten is include. Met deze functie kan je een ander bestand includen.
Voorbeeld.php
test.php
Je zal nu zien dat de code in test.php wordt uitgevoerd in voorbeeld.php.
Ik hoop dat jullie er wat van geleerd hebben. Vragen en opmerkingen zijn natuurlijk altijd welkom. Als je meer php functies wil leren kan jij kijken op http://php.net. Hier vind je een overzicht van alle functies met vaak goede voorbeelden erbij.
In deze tutorial probeer ik jullie de basis van PHP bij te brengen. PHP staat voor PHP Hypertext Preprocessor, en is een server-sided scripting taal. Dit wil zeggen dat de php-code op de server wordt uitgevoerd en vervolgens wordt omgezet en verstuurd naar de browser. Gewonelijk wordt het omgezet (geparsed) naar html of plain-text. Maar het is ook mogelijk om het om te zetten naar css, javascript, pdf, swf (flash), afbeeldingen, enzovoorts. Omdat ik deze tutorial voor beginners is bedoeld zal ik het daar voor de rest ook niet over hebben.
Inhoudsopgave
- Benodigdheden
- Hallo wereld
- Variabelen
- Datatypes
- Strings
- Integers
- Arrays
- Booleans
- Float
- Quotes
- Commentaar
- If structuur
- If-else
- Elseif
- Switch
- Functions
- Superglobals
- $_GET
- $_POST
- Rekenen
- While-loops
- For-loops
- Foreach
- Include
- Tot slot
Benodigdheden
Voor PHP heb je een server nodig die het ondersteund. Dit kan een hosting zijn waar jij je website op host, maar ook een lokale virtuele server op je eigen computer. Voor windows raad ik xampp of wamp aan, voor linux raad ik aan om het handmatig te installeren.
Dan heb je nog iets nodig waar jij je code in gaat schrijven. Voor windows raad ik notepad++ aan, voor linux (gnome) kan je gedit gebruiken. In principe is dit geheel jou eigen keuze, maar het is wel zo makkelijk als je regelnummering hebt en een syntaxhighlighter.
Let op dat je je bestanden waarin je php gebruikt altijd opslaat met de extensie .php! Anders zal je gewoon de php code zien in de browser.
Hallo wereld
Alle pagina's waar je php in wilt gebruiken zal je de extensie '.php' moeten geven. Een extensie is het laatste gedeelte van een bestandsnaam. Bij 'voorbeeld.php' is 'voorbeeld' de bestandsnaam en '.php' de extensie.
Om te beginnen krijg je een "hallo wereld" script:
- <?php
- echo 'Hallo wereld';
- ?>
Zoals je ziet gebruik ik '<?php' en '?>'. Dit zijn de openings- en sluit tags van PHP. Deze kan je overal in je pagina gebruiken. Dus ook binnen html tags. In het voorbeeld zie je het woord 'echo'. Dit is om tekst op het scherm te krijgen. De tekst (in dit geval 'Hallo wereld') is een string. Een string is een van de velen datatypes die php heeft. Let erop dat je de string tussen quotes zet. Dit mogen enkele quotes zijn, maar ook dubbele quotes. Het verschil leg ik later uit.
Variabelen
Variabelen zijn bepaalde dingen die variabele data kunnen bevatten. Een variabele kan zo bijvoorbeeld een string bevatten. Deze string kan je dan later weer ergens gebruiken, of aanpassen. Of je geeft deze variabele een andere datatype.
Een variabele maak je zo aan:
- <?php
- $test = 'Hallo wereld';
- ?>
Zoals je ziet gebruik ik een dollar-teken. Hiermee geef je aan dat het om een variabele gaat. In dit geval heeft de variabele de naam 'test' en bevat het een string. Maar een variabele kan natuurlijk ook andere datatypes bevatten. Het deel over variabele ga ik verder in deze tutorial nog uitgebreider behandelen.
Datatypes
Tot nu toe heb ik al best vaak de term 'datatypes' gezegd. Maar wat bedoel ik daar nu mee? In het Nederlands ken je bijvoorbeeld getallen, teksten, etc. Getallen zijn in php integers (int), teksten zijn strings.
Enkele datatypes op een rijtje:
– string
– integer (int)
– array
– boolean (bool)
– float
Nu geef ik een voorbeeld code waarin ik bovenstaande datatypes gebruik.
- <?php
- $string = 'Hallo wereld';
- $int = 30;
- $bool = true;
- $float = 30.44;
- ?>
Strings
Als het goed is zou je nu moeten weten wat een string is. In het kort gezegd; een string is een stukje tekst dat je in een variabele kan zetten, of kan echoën. Maar je kan een string ook onderbreken, om er bijvoorbeeld een variabelen in te zetten.
- <?php
- $woord = 'mooie';
- $string = 'Hallo '. $woord .' wereld.';
- echo $string; // Hallo mooie wereld.
- ?>
Zoals je ziet plaats ik de variabele '$woord' in de string. Hiervoor onderbreek ik de string door hem af te sluiten met een quote. Normaal plaats je dan een puntkomma, maar omdat we verder willen gaan met deze variabele gebruik je nu een punt. Deze punt is om elk deel te scheiden van elkaar. Zo scheid je de variabele van de string aan de linker kant en van de string aan de rechter kan. Stel je gebruikt meer variabelen dan krijg je dit:
- <?php
- $woord = 'mooie';
- $woord2 = 'grote';
- $string = 'Hallo '. $woord . ' '. $woord2 .' wereld.';
- echo $string; // Hallo mooie grote wereld.
- ?>
Maar waar je op moet letten, als je op het begin een variabele gebruikt hoef je dus geen quotes te gebruiken op het begin. Op het eind geldt hetzelfde. Daarom even een paar voorbeelden:
- <?php
- $string = $a;
- $string = $a.' string';
- $string = 'string '. $a;
- $string = 'string '. $a .' string';
- ?>
Als je bovenstaand voorbeeld bekijkt valt je misschien nog iets op. Ik vul steeds opnieuw de variabele $string. Als ik iets nieuws in de variabele zet, dan wordt het oude gewist. Nu is er nog een andere manier om een string te hervatten:
- <?php
- $woord = 'mooie';
- $string = 'Dit is een ';
- $string .= $woord;
- $string .= ' wereld.';
- echo $string; // Dit is een mooie wereld.
- ?>
Dus wat je nu weer leert is dat je met '.=' meer data aan een bestaande variabele toevoegd, en met '=' de oude inhoud van de variabel wist en de nieuwe data erin zet.
Nog even een tussen door, zoals je in enkele bovenstaande voorbeelden ziet, er staan delen in de code zoals '// Dit is een mooie wereld'. Met '//' begin je een commentaar voor die regel. Commentaar is bedoeld om bepaalde delen code te beschrjven. Zie het als een soort notities. Deze hebben verder geen invloed op de code zelf.
Integers
Zoals ik al zei zijn integers gewoon getallen. Verder is het niet zo bijzonder.
- <?php
- $int = 30;
- ?>
Zoals je moet opvallen hoef je bij een int geen quotes te gebruiken. Met integers kan je weer rekenen, maar daar kom ik later weer op terug.
Arrays
Dit zijn een soort lijsten. Je kan het zien alsof je meerdere variabelen in een variabele opslaat. Een array maak je zo aan:
- <?php
- ?>
Nu heb je in feite een lege array. We gaan deze nu eens vullen.
- <?php
- ?>
Om deze waardes a, b, en c te kunnen bereiken gebruik je keys. De keys zijn getallen die zich optellen vanaf nul. Zo heeft a de key 0, b heeft 1, en c heeft 2. Om nu 'b' te bereiken gebruik je dit:
- <?php
- echo $array[1]; // b
- ?>
Nu kan je ook zelf de keys bepalen. Kijk maar naar dit voorbeeld:
- <?php
- echo $array['b']; // banaan
- ?>
Nu gebruik ik steeds slechts een letter als key, maar het kunnen ook woorden zijn. Je kan arrays ook anders maken. Het eerste voorbeeld waar de keys automatisch worden gegeven kan je ook zo doen:
- <?php
- $array[] = 'a';
- $array[] = 'b';
- $array[] = 'c';
- ?>
De tweede manier, waar je de keys zelf invult kan je dan ook zo doen:
- <?php
- $array['a'] = 'appel';
- $array['b'] = 'banaan';
- $array['c'] = 'citroen';
- ?>
Verder wil ik nu niet teveel ingaan op arrays omdat het anders teveel wordt.
Booleans
Een bool heeft maar een kleine functie. Het bevat altijd de waarde TRUE of FALSE. In principe kan je true zien als 1 of als waar. False kan je zien als 0 of als niet waar.
- <?php
- $bool1 = true;
- $bool2 = false;
- ?>
Float
Floats kan je vergelijken met integers. In de wiskunde heb je hele getallen en getallen met decimalen. In PHP is een integer een heel getal en een getal met decimalen is een float.
- <?php
- $float = 33.2;
- ?>
Waar je op moet letten is dat je in php een punt gebruikt om het getal van de decimalen te scheiden. Je moet er dus geen komma zetten zoals we in Nederland doen, want dat geeft een fout.
Quotes
Je hebt nu geleerd dat je bij strings gebruik maakt van quotes. Maar er zijn twee soorten quotes die we kunnen gebruiken. En tussen beide zit een verschil. Dubbele quotes kunnen namelijk variabelen bevatten en kunnen ook tekens als \n (nieuwe regel), \t (tab), etc parsen.
Bekijk het verschil maar tussen de volgende twee codes.
Code 1:
- <pre>
- <?php
- $test = 'appel';
- echo 'Een $test is lekker\n\tHeerlijk!';
- ?>
- </pre>
Code 2:
- <pre>
- <?php
- $test = 'appel';
- echo "Een $test is lekker\n\tHeerlijk!";
- ?>
- </pre>
Met de eerste code zie je gewoon precies wat er in de string staat. Bij de tweede zie je in de string het woord appel staan, en je ziet de enter en de tab. Wel raad ik aan om de variabelen niet binnen de quotes te zetten maar er buiten.
Commentaar
Nog even om terug te komen op het gedeelte van commentaar. Commentaar wordt door programmeurs vaak gebruikt om de code wat duidelijker te maken voor de mens om te gebruiken. Of om een copyright in de code te zetten. De commentaar wordt door php genegeerd en heeft dus geen invloed. Er zijn die manier om commentaar te plaatsen.
- <?php
- // Dit ben je al eerder tegengekomen. Commentaar voor een regel
- # Dit is ook commentaar voor een regel
- /* En dit is commentaar
- voor meerdere regels */
- ?>
If structuur
In php hebben we 'if'. Dit betekend in het Nederlands 'als'. Dus 'als dit doe dat'.
- <?php
- if(dit) {
- // doe dat
- }
- ?>
Nu zal bovenstaande code fouten geven. Met bovenstaande if-structuur kunnen we controlleren of een variabele iets bevat.
- <?php
- $a = true;
- if($a) {
- echo 'Variabele a is true';
- }
- ?>
In dit geval kijken we of variabele a true is. Maak je er 'false' van dan zal er niks gebeuren. Als $a is string is die gevult is zal er wel iets gebeuren. Als $a leeg is zal er niks gebeuren. Maar nu wil ik verder gaan met het vergelijken. Hiervoor gebruiken we operators. Enkele operators:
== : is gelijk aan
!= : is niet gelijk aan
> : is groter dan
< : is kleiner dan
>= : is groter dan OF gelijk aan
<= : is kleiner dan OF gelijk aan
Nu geef ik enkele voorbeelden die dit duidelijk zouden moeten maken.
- <?php
- $a = 10;
- $b = 15;
- if($a == $b) {
- echo 'Niks wordt gechoed.';
- }
- if($a != $b) {
- echo 'Er wordt geechoed';
- }
- if($a < $b) {
- echo 'A is kleiner dan B dus er wordt iets gechoed.';
- }
- if($a > 5) {
- echo 'A is groter dan 5 dus er wordt gechoed.';
- }
- ?>
Ik denk dat dit nu duidelijk moet zijn. Maar watt nu als we meerdere argumenten hebben? Daarvoor hebben we nog een paar operators:
&& : En
and : En
|| : Of
OR: Of
Laten we weer eens kijken naar een paar voorbeelden.
- <?php
- $a = 'appel';
- if($a == 'appel' && $a != 'peer') {
- echo 'Variabele a is een appel EN variabele a is geen peer.';
- }
- if($a == 'appel' || $a == 'peer') {
- echo 'Variabele a is een appel OF variabele a is een peer.';
- }
- if(($a == 'appel' && $b == 'banaan') || $a == 'ananas') {
- echo 'Variabele a is een appel en variabele b is een banaan';
- echo 'OF variabele a is een ananas.';
- }
- ?>
Als je het laatste voorbeeld bekijkt zie je dat er nog extra haakjes in staan. De rede dat ik deze hier heb geplaatst is omdat ik && en || in een if gebruik.
If-else
Nu de if-structuur duidelijk is ga ik het hebben over if-else. Het idee is, indien dit dit doe, anders doe dat.
- <?php
- $a = 'appel';
- if($a == 'appel') {
- echo 'Variabele a is een appel.';
- } else {
- echo 'Variabele a is geen appel.';
- }
- ?>
Elseif
Dit is in prinicipe hetzelfde als else, alleen dan kan je hier net als bij if een voorwaarde geven.
- <?php
- $a = 'appel';
- if($a == 'appel') {
- echo 'Variabele a is een appel.';
- } elseif($a == 'peer') {
- echo 'Variabele a is een peer';
- } else {
- echo 'Variabele a is geen appel, en ook geen peer.';
- }
- ?>
Switch
Een switch is bijna hetzelfde als if-elseif-else, maar dan anders opgeschreven. Dit is erg handig als je een lange if-elseif-else structuur hebt. Om de switch in een keer duidelijk te maken geef ik weer een voorbeeld:
- <?php
- $a = 'appel';
- switch($a) {
- case 'appel':
- echo 'Het is een appel';
- break;
- case 'banaan':
- echo 'Het is een banaan';
- break;
- default:
- echo 'Het is geen appel en geen banaan.';
- break;
- }
- ?>
Zoals je ziet gebruik ik steeds 'break'. Dit is nodig of de case af te sluiten. Want als ik de break bij de case 'appel' weghaal dan gaat hij verder bij banaan. Een case wordt namelijk pas afgesloten bij de eerst volgende break. Daarom nu het volgende voorbeeld:
- <?php
- $a = 'appel';
- switch($a) {
- case 'appel':
- case 'banaan':
- echo 'Het is een appel OF een banaan';
- break;
- default:
- echo 'Het is geen appel en geen banaan.';
- break;
- }
- ?>
Dat moet nu ook duidelijk zijn. Wat wel nog op gevallen moet zijn is het woordje 'default'. Zoals het woordt al zegt, dit is de standaard case. Als er geen enkele case voldoet aan de eisen pakt hij de default. Net zoals 'else' bij een if-structuur.
Functions
In PHP kan je gebruik maken van functies. Hiermee kan je bepaalde code vaker opnieuw uitvoeren. Een voorbeeld.
- <?php
- function test() {
- return 'appel';
- }
- echo test(); // appel
- ?>
Iedere keer wanneer je de functie 'test()' aanroept wordt er nu het woord 'appel' gereturned. Maar je kan ook argumenten meegeven aan de functie.
- <?php
- function fruit($fruit) {
- return $fruit;
- }
- echo fruit('appel'); // appel
- echo fruit('peer'); // peer
- ?>
Als je meerdere argumenten wilt gebruiken kan je deze scheiden met komma's.
- <?php
- function fruit($fruit, $aantal) {
- return 'Ik wil '. $aantal .' '.$fruit;
- }
- echo fruit('appels', 10); // Ik wil 10 appels
- echo fruit('peren', 'geen'); // Ik wil geen peren
- echo fruit('citroenen'); // Ik wil citroenen
- ?>
Bij de laatste test (citroenen) wordt het argument 'aantal' niet ingevuld. De $aantal in de functie zal dan de waarde NULL hebben, oftewel niks. Als je nu wil dat het aantal standaard 4 is dan kan je dat doen door de variabele al in te vullen.
- <?php
- function fruit($fruit, $aantal=4) {
- return 'Ik wil '. $aantal .' '.$fruit;
- }
- echo fruit('appels', 10); // Ik wil 10 appels
- echo fruit('peren', 'geen'); // Ik wil geen peren
- echo fruit('citroenen'); // Ik wil 4 citroenen
- ?>
Naast je eigen functies zijn er ook nog standaard functies in php. Let erop dat je niet twee keer een functie kan maken met dezelfde naam.
Superglobals
In PHP heb je ook superglobals. Dit zijn voorgedefinieerde variabelen. Je kan ze herkennen aan het lage streepje tussen het dollar-teken en de variabelenaam. Enkele superglobals:
$_GET
$_POST
$_SERVER
$_FILE
De eerste twee zal je misschien het meeste gaan gebruiken. Een tip, superglobals zijn in feite arrays.
$_GET
Deze superglobal is handig om argumenten uit de url te halen. Stel je hebt een url als 'voorbeeld.php?a=appel&b=banaan', dan zitten hier in feite twee variabelen in. De variabelnamen wordt gebruikt als keys in de $_GET array.
- <?php
- echo $_GET['a']; // appel
- echo $_GET['b']; // banaan
- ?>
$_POST
Deze superglobal is bijna hetzelfde als $_GET. Maar via post kan je meer data versturen. Even een voorbeeld:
- <?php
- echo $_POST['test'];
- ?>
- <form action="voorbeeld.php" method="post">
- <input type="text" name="test" value="Hallo wereld" />
- <input type="submit" value="verstuur" />
- </form>
Als je het formulier verstuurd dan wordt er "Hallo Wereld" geechoed. De name van een form-element wordt gebruikt als key in de $_POST array. Maar in dit voorbeeld maak ik een grote fout. Als je de pagina voorbeeld.php laad, dan wordt de post variabele direct geechoed. In dit geval zal je dat als gebruiker niet merken, maar het is zeker niet de bedoeling. Het geeft dan ook een E_NOTICE error. Dit zijn errors die niet zo belangrijk zijn en vaak standaard niet eens worden weergeven.
Maar hoe moet het dan wel? Hiervoor hebben we de $_SERVER superglobal nodig. In deze superglobal kunnen we namelijk de request method opvragen. Dit is de manier waarop de pagina op dat moment is benaderd. Namelijk via get of via post.
- <?php
- if($_SERVER['REQUEST_METHOD'] == 'POST') {
- echo $_POST['test'];
- }
- ?>
- <form action="voorbeeld.php" method="post">
- <input type="text" name="test" value="Hallo wereld" />
- <input type="submit" value="verstuur" />
- </form>
Rekenen
In PHP kan je ook rekenen. Dit kunnen heel simpele optelsommen zijn, maar ook ingewikkelde sommen. Hiervoor gebruik je weer operators:
+ : Optellen
– : Aftrekken
* : Vermenigvuldigen
/ : delen
^ : machten
++ : Optellen met 1
-- : Aftrekken met 1
Dus bijvoorbeeld:
- <?php
- $a = 1 + 1; // $a is nu 2
- $b = 2 * 2; // $b is nu 4
- $b++; // $b is nu 5
- $a--; // $a is nu 1
- $c = (5+5) * 10; // 5+5 = 10. 10 maal 10 is 100. $c is nu 100
- ?>
While-loops
Een while-loop is te vergelijken met een if-structuur. Maar dan wordt het steeds herhaalt totdat er niet meer wordt voldaan aan de voorwaarden.
Bijvoorbeeld:
- <?php
- $test = true;
- while($test) {
- echo 'kaas';
- $test = false;
- }
- ?>
Nu zal je maar een keer het woord kaas zien. Dus dit heeft weinig zin. Dus nu even met een teller:
- <?php
- $test = 0;
- while($test < 10) {
- echo 'kaas';
- $test ++;
- }
- ?>
Nu zal de while-loop herhaalt worden totdat $test niet meer kleiner is dan 10. Wat handig is om te weten is dat je de while-loop erg goed kan gebruiken als je met MySQL werkt. Maar dat behandel ik niet in deze tutorial.
For-loops
Een for-loop is hetzelfde als een while-loop, maar dan gebeurd dit met tellen.
- <?php
- for($i = 0; $i < 10; $i++) {
- echo $i .'<br />';
- }
- ?>
In dit geval heb je een teller. Namelijk $i. Deze zet je op 0. Vervolgens kijk je of de teller kleiner is dan 10, en zo ja dan wordt $i gevolgd door een <br /> geechoed. Daarna wordt er bij de teller het getal een bijgeteld. Om de loop eerder te onderbreken kan je 'break' gebruiken. Dit ben je al eerder tegen gekomen bij de switch.
- <?php
- for($i = 0; $i < 10; $i++) {
- if($i == 5) {
- echo 'Stop de lus!';
- break;
- }
- }
- ?>
Natuurlijk mag $i ook een andere variabele zijn, en natuurlijk kan je de teller ook laten aftellen. Maar let er wel op, zorg ervoor dat de loop wel kan stoppen. Anders zal je browser het niet leuk vinden, en wellicht blijven haken!
Foreach
Dit is een loop om arrays uit te lopen.
- <?php
- foreach($array as $key => $value) {
- echo 'Key: '. $key . '. Value: '. $value .'.<br />';
- }
- // Key: 0. Value: a.
- // Key: 1. Value: b.
- // Key: 2. Value: c.
- ?>
Of wat ook kan:
- <?php
- foreach($array as $value) {
- echo 'Value: '. $value .'.<br />';
- }
- // Value: a.
- // Value: b.
- // Value: c.
- ?>
Include
Een handige php functie om van te weten is include. Met deze functie kan je een ander bestand includen.
Voorbeeld.php
- <?php
- include('test.php');
- ?>
test.php
- <?php
- echo "Hallo wereld!";
- ?>
Je zal nu zien dat de code in test.php wordt uitgevoerd in voorbeeld.php.
Tot slot
Ik hoop dat jullie er wat van geleerd hebben. Vragen en opmerkingen zijn natuurlijk altijd welkom. Als je meer php functies wil leren kan jij kijken op http://php.net. Hier vind je een overzicht van alle functies met vaak goede voorbeelden erbij.
Lees de forum regels


)