Programmeren in PHP/Variabelen
Uit Wikibooks
Variabelen zijn opslagplaatsen voor waardes. Je kunt dit zien als een snelkoppeling naar een berekening of tekst. Dit kan handig zijn om later met de uitkomst door te rekenen of om te voorkomen dat je steeds dezelfde tekst moet typen. In php begint iedere variabele met een dollar-teken. Namen van variabelen zijn hoofdlettergevoelig.
PHP kent de volgende types variabelen:
- Integers (hele getallen),
- Floats (kommagetallen)
- Strings (tekst, leestekens en symbolen),
- Booleans ("waar" (true) of "niet waar" (false)).
- Arrays (lijsten)
Het verdient aanbeveling om variabelen een korte maar beschrijvende naam te geven.
Inhoud |
[bewerk] Integer
Een Integer is een geheel getal. Dus 1587 en -98 zijn integers, maar 3.1415 en 8.95 zijn geen integers.
[bewerk] Floating Point Number
Een Floating Point Number of Float (drijvende komma getal) is een getal dat wordt samengesteld uit een kommagetal en een exponent (een macht van 10). Wanneer de exponent weggelaten wordt neemt PHP aan dat de exponent de waarde 0 heeft.
Geldige floating point numbers zijn:
- 3.1415
- 3e+8
- -7.567e+4
- 6.22e-23
Met een float kunnen grotere getallen opgeslagen worden dan met een integer maar dit gaat ten koste aan de precisie. Dat wil zeggen dat niet elk kommagetal kan worden voorgesteld, maar het zal meestal een benadering zijn. Doubles hebben twee keer zoveel precisie als Floats (vandaar de naam).
[bewerk] String
Een string-variabele bevat een reeks letters, cijfers en leestekens in een vaste volgorde. Een string kan dus een woord of een zin zijn, maar het kan ook een tekst van honderden woorden zijn. Een string kan ook een naam, telefoonnummer of e-mailadres zijn.
Een string kan tussen apostrofs (' ') of tussen aanhalingstekens (" ") staan. Wanneer een string tussen aanhalingstekens staat dan worden variabelen die in de string geplaatst zijn vervangen door hun waarde, maar wanneer een string tussen apostrofs staat gebeurt dat niet.
Het volgende voorbeeld maakt dat duidelijk:
PHP-code: een string
<?php $leeftijd = 31 ; echo "Ik ben $leeftijd jaar oud" ; ?>
Bovenstaande code zal de tekst Ik ben 31 jaar oud naar de browser van de bezoeker sturen. De variabele $leeftijd in de string is vervangen door de waarde die we eerder aan die variabele toegekend hebben.
Echter, wanneer we apostrofs gebruiken dan zal dat niet werken:
PHP-code: een string
<?php $leeftijd = 31 ; echo 'Ik ben $leeftijd jaar oud' ; ?>
Bovenstaande code zal de tekst Ik ben $leeftijd jaar oud naar de browser van de bezoeker sturen omdat variabelen die in de string zijn opgenomen niet worden vervangen door hun waarde. In dit geval zul je de variabele van de tekst moeten scheiden:
PHP-code: een string
<?php $leeftijd = 31 ; echo 'Ik ben ' . $leeftijd . ' jaar oud' ; ?>
[bewerk] Boolean
Een Boolean kan twee waardes hebben: True (waar, 1) of False (onwaar, 0).
Booleans worden gebruikt om variabelen of bewerkingen met elkaar te vergelijken, zoals te zien is in het volgende voorbeeld:
PHP-code: boolean
<?php $a = 3 ; $b = 5 ; //Controleer of $a en $b samen 8 zijn (zie Opmerking) $isAcht = ( $a + $b == 8) ; // Dat is zo, dus de boolean variabele $isAcht krijgt de waarde True //Controleer of $a en $b samen 9 zijn $isNegen = ( $a + $b == 9) ; // Dat is niet zo, dus de boolean variabele $isNegen krijgt de waarde False ?>
Opmerking: Meer over de als - dan expressie
[bewerk] Array
Lijsten, meestal array's (spreek uit: errees) genoemd, worden gebruikt om gezamenlijke gegevens bij elkaar te houden, en om te voorkomen dat je variabele namen als $a1 $a2 en $a3 gaat gebruiken. Een lijst bestaat uit een key (sleutel) en een waarde. De sleutel moet uniek zijn en wordt gebruikt om de juiste waarde te vinden in een array. Een waarde hoeft niet uniek te zijn maar is wel gebonden aan de sleutel/key. Je hebt verschillende soorten array's, namelijk: numerieke en associatieve array's.
[bewerk] Numerieke Lijsten
Bij numerieke array's wordt de sleutel meestal niet opgegeven door de programmeur, maar wordt deze ingevuld door PHP zelf. Dit is tevens de meest standaard array. Een numerieke lijst die door PHP aangemaakt is begint altijd met een 0 als sleutel, in tegenstelling tot de 1 die je zou verwachten. Zo'n lijst maak je als volgt
PHP-code: Numerieke lijsten
<?php //Zo stop je waardes in een nieuwe variabele: $mijnLijst = array ("Ik","leer","over","de","werking","van","lijsten."); //Om een lege array te maken gebruik je het volgende statement. $mijnLegeLijst = array(); //De waardes uit een lijst halen doe je als volgt: echo $mijnLijst[2]; //Dit zal het woord 'over' op het scherm weergeven ?>
[bewerk] Associatieve lijsten
Associatieve lijsten hebben een woord of zin als sleutel en zijn voor de programmeur makkelijker te lezen dan numerieke lijsten.
PHP-code: Associatieve lijsten
<?php //En om een associatieve array te vullen, doe je het volgende $Array = array ( "Ik" => "Mijn naam is Jaap", "Jij" => "Jouw naam is Piet", "Leeftijd" => "Mijn leeftijd is 22" ); //Gegevens uit een associatieve array halen doe je zo: echo $Array['Ik']; //Gegevens in een associatieve lijst wijzigen doe je zo: $Array['Jij'] = "Jouw naam is Jantje"; echo $Array['Jij']; // je kunt overigens ook op die manier sleutels toevoegen! $Array['nogiets'] = "Deze sleutel is handmatig toegevoegd."; ?>
Let er op dat de namen van de sleutels hoofdlettergevoelig zijn.
[bewerk] Hoe php omgaat met variabelen
PHP is weak-typed. Dat wil zeggen dat het PHP niet uit maakt met wat voor soort variabele je werkt. Een Boolean kan dus net zo goed een Integer zijn en een Integer een String. Je kunt ze ook zonder moeite door elkaar gebruiken.
PHP-code:
<?php //Dit is een voorbeeld van het gebruik van variabelen $Uitkomst = 2 * 89 / 54 + 9; echo $Uitkomst * 3; ?>
De namen van variabelen zijn hoofdletter gevoelig, dus $Uitkomst is niet hetzelfde als $uitkomst of $UiTKomSt. Ook mogen de namen niet met een nummer beginnen. Dus $3Uitkomst is fout, maar $Uitkomst3 mag weer wel.
PHP-code: boolean
<?php $naam = "Jan"; //Geef $naam de waarde Jan // Druk Hoi, Jan. op het scherm af // Het "string1" . $var . "string2" is nette PHP code, het voorkomt foutmeldingen bij arrays. echo "Hoi, " . $naam . "."; $laagGetal = 9; //Geef $laagGetal de waarde 9 $hoogGetal = 9200; //Geef $hoogGetal de waarde 9200 $antwoord = $laagGetal + $hoogGetal; //Geef $antwoord het totaal van $laagGetal en $hoogGetal echo $laagGetal . " + " . $hoogGetal . " = " . $antwoord;//Druk de som af // dit geeft : 9 + 9200 = 9209 ?>
Wat nieuwe dingen:
- Op regel 2 declareren we de variabele $naam met de waarde Jan, die tussen aanhalingstekens staat omdat het een string is. Die waarde wordt gevolgd door een puntkomma om aan te geven dat we klaar zijn met deze regel.
- Het = teken stelt in de programmeertaal PHP een variabele gelijk aan de waarde die rechts van het = teken staat, $eten = "pizza" stelt $eten dus gelijk aan pizza.
- Op regel 5 komen we weer het echo commando tegen die in dit geval de tekst "Hoi, Jan" op het scherm zet.
- Op regel 6 en 7 worden twee Integers gedeclareerd, dat zijn, zoals in paragraaf 2.2 behandeld is, cijfers. Hier kun je dus gewone rekenkundige operaties op uitvoeren: zoals bijvoorbeeld optellen (+) aftrekken (-) vermenigvuldigen (*), delen (/). Maar je kan er ook bijvoorbeeld mee kwadrateren of worteltrekken. In dit geval wordt het rekenen op regel 8 gedaan, waar meteen iets nieuws wordt geïntroduceerd, namelijk een variabele bestaande uit andere variabelen. Er wordt hier namelijk geen letterlijke tekst neergezet, maar twee andere variabelen. Niks mis mee, want PHP herkent die variabelen en vervangt ze door de echte tekst, respectievelijk 9 en 9200.
Daartussen vindt PHP de rekenkundige operator (wiskundig teken) en past die toe op beide getallen. De variabele $antwoord krijgt dus het antwoord van de som 9 + 9200, 9209 als waarde toegekend. In PHP kun je dus getallen optellen van hetzelfde type, maar kan dat ook met waardes van een ander type? Ik zal het demonstreren.
PHP-code: boolean
<?php $stringGetal = "8"; $gewoonGetal = 100; $kommaGetal = 10.8; $resultaat = $stringGetal + $gewoonGetal + $kommaGetal; echo $resultaat; // Geeft ons 118.8 als resultaat ?>
In bovenstaand stukje code tellen we een string (die een getal voorstelt) een integer en een float bij elkaar op. Het type van de variabele $resultaat op regel 5 staat niet echt vast, maar onderzoek (met de functie var_dump) toont ons dat de variabele een float is. Wanneer we deze doorgeven aan de echo functie wordt die echter omgezet in een string. Dit alles gebeurt onder de motorkap van php en zelden hoeft de schrijver van het script zich er iets van aan te trekken.
| De wijzigingen aan deze pagina van voor 15 april 2007 vallen alléén onder de GFDL, en niet onder de CC-BY-SA-licentie. U kunt de inhoud van deze pagina dan ook alleen onder de voorwaarden van de GFDL (her)gebruiken. Niet alle bijdragers van voor 15 april 2007 hebben hun werk vrijgegeven onder de dubbellicentie GFDL&CC-BY-SA. Kijk hier voor meer informatie. |

