2.1 Introductie
Een variabelen in PHP begint altijd het met dollarteken: $. Bij de naamgeving van variabelen moet je rekening houden met volgende voorwaarden:
- Een variabele mag nooit beginnen met een cijfer ($8ball)
- De toegelaten karakters zijn alle alfanumerieke karakters + underscore (_).
- Variabelen zijn hoofdletter gevoelig; $martijn is niet dezelfde variabele als $Martijn.
Variabelen worden in PHP standaard ‘By Value’ toegewezen, dit wil zeggen dat de waarde gekopierd wordt. Je kan references naar variabelen maken door er er een ampersant & voor te plaatsen. Een uitzondering hierop zijn objecten, objecten worden in PHP altijd ‘By Reference’ doorgegeven. Objecten ‘kopiëren’ gaat dus niet met ‘=’ maar dient te gebeuren met de clone() functie.
PHP-code:
<?php
$_var1 = ‘Martijn’;
$var2 = ‘Piet’;
$8ball = true; //Syntax error
$value = $_var1; //De variabelen $value bevat nu ook ‘Martijn’, wijzingen in $_var1 of $value worden nu niet doorgevoerd in de andere variabele.
$reference = &$var2; //Als ik nu $reference of $var2 wijzig, zal de waarde van beide variabelen veranderen. Ze verwijzen(reference) beide naar dezelfde waarde in het geheugen.
//Objecten
$oPiet = new Costumer();
$oPiet.name = ‘Piet’;
$oKlant = $oPiet; //Zowel $oPiet als $oKlant verwijzen nu beide naar dezelfde instantie van de klasse Costumer.
$oKlant.name = ‘Martijn’; //Veranderd voor beide variabele
?>
Variabelen kunnen ‘gewist’ worden door hun waarde gelijk te stellen aan null of door de unset() functie te gebruiken.
PHP-code:
<?php
$var = ‘Martijn’; //variabele met waarde ‘Martijn’
unset( $var ); //De variabele bestaat na deze regel niet meer.
//$var = null; heeft hetzelfde effect als unset()
?>
Ongeïnitialiseerde variabelen hebben standaard de waarde null, hierop vertrouwen is echter geen goed idee, mischien heb je deze variabelen al in een ander geinclude bestand gebruikt en bevat hij toch al een andere waarde. Dit is weer een moeilijk te debuggen fout. Je vermijd dit best door variabelen te initialseren. Je kan de functie isset() gebruiken om te controleren of een variabele op een bepaald punt in de code bestaat.
PHP-code:
<?php
$myBool = false;
$myInt = 0;
?>
Er zijn 3 soorten variabelen in PHP: Scalar, Compound en een aantal uitzonderingen.
Er zijn 4 soorten scalar types:
- Integer: gehele getallen, de standaard waarde is 0
- Float (double): decimale getallen, de standaard waarde is 0.0
- Boolean: waar of niet waar, de standaard waarde is false
- String: stukken tekst, de standaard waarde is een lege string
Er zijn twee soorten compound types:
- Array’s
- Objecten
De uitzonderingen zijn:
- Resource: dit zijn streams (open file handlers), afbeeldingen, database verbindingen, ..
- Null: geeft ‘niks’ aan
2.2.1 Integers
Een integer kan alle gehele getallen bevatten zowel negatief als positief. Als een getal te groot is (overflow) zal de variabelen automatisch geconverteerd worden naar een float. Een integer kan max 232 combinaties bevatten, ze zijn gelijk verdeeld over positieve en negatieve waarde. (0 is positief)
Een variabele kan naar een integer geconverteerd worden door er (int) voor te plaatsen. Bij een string zullen alle letters genegeerd worden en worden alleen de cijfers bijgehouden. Bij het converteren van Boolean naar Integer zijn de waardes 0 en 1 respectievelijk voor FALSE en TRUE.
PHP-code:
<?php
$myString = ‘test123’;
$int1 = (int)$myString; //waarde van $int1 is 123
$int2 = (int)false; //waarde van $int2 is 0
?>
Een float is een decimaal getal. Een float kan op verschillende manieren ingegeven worden.
PHP-code:
<?php
$getal = 1.23;
$getal2 = 1.23e10;
$getal3 = 1E40;
?>
De standaard waarde voor een float is 0.0. Een Float converteren naar een boolean geeft altijd true tenzij de waarde 0.0 is.
2.2.3 Boolean
Het type boolean is net zoals in alle andere talen TRUE of FALSE. Bij het converteren naar boolean vanuit andere types krijg je altijd true behalve voor de volgende waarde:
- Integer met waarde 0 (negatieve waarden zijn ook TRUE)
- Float met waarde 0.0
- Een lege string (‘’) of de string ‘0’
- Een lege array
- null
2.2.4 String
Een string is een verzameling van tekens (bytes), de grootte is virtueel oneindig (beperkt door de hoeveelheid beschikbaar geheugen).
Er zijn verschillende manieren om een string te definiëren:
PHP-code:
<?php
$myString = ‘dit is een string’
$String2 = “Dit is een regel\n dit is de volgende regel”;
$String3 = <<<MijnTekst
Dit
hoort
allemaal
nog
bij de string
MijnTekst;
?>
Als de gegevens tussen enkele qoutes staan worden karakters niet geëscaped (\n), bij dubbele qoutes wel.
PHP-code:
<?php
$var = “Eerste regel\nTweede regel”; //Dit geeft twee regels
$$var = ‘Eerste regel\nTweede regel’; //Dit drukt die \n gewoon af, er wordt geen nieuwe regel gestart.
?>
Kleine aanpassingen door: Aerts Kurt.
Systeembericht