3.1 Toekenningsoperators
De toekenningsoperator is het teken ‘=’. De waarde aan de rechterkant word gekopierd naar de linkerkant.
PHP-code:
<?php
$resultaat = 5;
$foo = $resultaat;
?>
Dit komt omdat we de waarde ‘By Value’ hebben toegekend. Om dit gedrag aan te passen kunnen we de waarde ‘By Reference’ toe kennen. Nu zal niet de waarde gekopierd worden maar de variabele $foo zal verwijzen naar de variabele $resultaat, wijzigingen aan een van beide variabelen wordt automatisch toegepast op de andere (ze verwijzen immers naar dezelfde waarde).
PHP-code:
<?php
$resultaat = 5;
$foo = &$resultaat; // By reference (referentie)
$foo = 9; // Zowel $resultaat als $foo hebben nu 9 als waarde
?>
De volgende wiskundige operatoren zijn beschikbaar in PHP:
- De negatie
- De optelling
- De aftrekking
- De vermeningvuldiging
- De deling
- Modulus (rest van een gehele deling)
De funtionaliteit spreekt voor zich:
PHP-code:
<?php
$b = -$a; // -3
$d = 3 + 4; // 7
$a = 4 - 1; // 3
$f = 4 * 2; // 8
$c = 8 / 4; // 2
$e = 10 % 3; // 1
?>
In PHP zijn er ook verkorte gecombineerde operators beschikbaar:
PHP-code:
<?php
$a = 1;
$a += 2; // bevat nu: 3
$a *= 4; // bevat nu: 12
//...
?>
Een Logische operator geeft als resultaat altijd TRUE of FALSE. PHP kent de volgende logische operaties:
- AND (&): True als beide waarde TRUE zijn
- OR ( | ): True als een van beide of beide waarde TRUE zijn
- Inversie ( ! ): TRUE als de waarde FALSE is
- XOR: TRUE als slechts een van beide waarde TRUE is
PHP-code:
<?php
$a = true;
$b = false;
$c = $a & $b; // False
$c = $a | $b; // True
$c = !$b; // True
?>
PHP-code:
<?php
$a = true;
$b = false;
/*
SomeFunction() zal nooit uitgevoerd worden omdat $b False is, hierdoor
kan de AND nooit True zijn, door het short-circuit wordt de functie
niet aangeroepen.
*/
$c = $b && SomeFunction();
/*
In dit geval wordt de functie wel aangeroepen omdat $a True is, het
resultaat is nu nog afhankelijk van de waarde van de functie.
Die in dit voorbeeld niet gedefinieerd werd.
*/
$c = $a && SomeFunction();
?>
Om waardes te vergelijken hebben we vergelijkingsoperators nodig, een vergelijking heeft altijd een Boolean als resultaat (TRUE of FALSE). Ze worden meestal als voorwaarde gebruikt in if-constructies. In PHP zijn de volgende vergelijkingsoperators beschikbaar:
- == is gelijk aan
=== is gelijk aan en van hetzelfde type - != en <> is niet gelijk aan
!== is niet gelijk of niet van hetzelfde type - < kleiner dan
<= kleiner of gelijk aan - > groter dan
>= groter of gelijk aan
Let op wanneer je twee Strings, beide met numerieke waarde (“34”, “4”) vergelijkt, beide worden geconverteerd naar Integers en zo vergeleken.
3.5 String operators
PHP kent ook een String operator, met een punt (.) kan je twee Strings aan elkaar plakken (concatenation). Er bestaat ook een gecombineerde verkorte versie van deze operator:
PHP-code:
<?php
$a = ‘Hello ’;
$b = ‘world’;
$c = $a . $b; //$c heft als waarde ‘Hello World’
$a .= $b; //$a heeft als waarde ‘Hello world’
?>
Kleine aanpassingen door: Aerts Kurt.