Met rekenkundige operatoren kun je rekenkundige bewerkingen op numeriek waardes laten uitvoeren.
| bewerking | operator | voorbeeld | resultaat |
| optellen | + | $x + $y | de som van $x en $y |
| aftrekken | - | $x - $y | het verschil tussen $x en $y |
| vermenigvuldigen | * | $x * $y | het product van $x en $y |
| delen | / | $x / $y | $x gedeeld door $y |
| modulo | % | $x % $y | de rest van de deling van $x door $y |
| machtsverheffen | ** | $x ** $y | $x tot de macht $y |
Met toewijzingsoperatoren kan een waarde aan een variabele worden toegekend.
| toewijzing | gelijk aan | omschrijving |
| $x = $y | hierbij wordt de waarde rechts van de operator toegekend aan de variabele links | |
| $x += $y | $x = $x + $y | hierbij wordt de waarde rechts van de operator opgeteld bij de waarde van de variabele links |
| $x -= $y | $x = $x - $y | hierbij wordt de waarde rechts van de operator afgetrokken van de waarde van de variabele links |
| $x *= $y | $x = $x * $y | hierbij wordt de waarde van de variabele links vermenigvuldigd met de waarde rechts van de operator |
| $x /= $y | $x = $x / $y | hierbij wordt de waarde van de variabele links gedeeld door de waarde rechts van de operator |
| $x %= $y | $x = $x % $y | hierbij wordt de waarde van de variabele links gelijkgesteld aan de rest van de deling tussen deze waarde en de waarde rechts van de operator |
Met verhogings- en verlagingsoperatoren kan de waarde van een variabele met 1 worden verhoogd dan wel verlaagd.
| operator | gelijk aan | omschrijving |
| $x++ | $x = $x + 1 | hierbij wordt de waarde van de variabele links met 1 verhoogd |
| $x-- | $x = $x - 1 | hierbij wordt de waarde van de variabele links met 1 verlaagd |
Er bestaat ook een notatie, waarbij de variabele wordt voorafgegaan door de verhogings- of verlagingsoperator (++$x en --$x). Het effect van deze notatie is voor wat wij ermee doen hetzelfde.
Met vergelijkingsoperatoren kunnen twee waardes met elkaar vergeleken worden.
| vergelijking | operator | voorbeeld | resultaat |
| gelijk aan | == | $x == $y | levert waar op wanneer de waarden van $x en $y aan elkaar gelijk zijn |
| identiek aan | === | $x === $y | levert waar op wanneer de waarden van $x en $y aan elkaar gelijk zijn én van hetzelfde type zijn *) |
| niet gelijk aan | != | $x != $y | levert waar op wanneer de waarden van $x en $y niet aan elkaar gelijk zijn |
| ,, | <> | $x <> $y | ,, |
| niet identiek | !== | $x !== $y | levert waar op wanneer de waarden van $x en $y niet aan elkaar gelijk zijn óf niet van hetzelfde type zijn *) |
| groter dan | > | $x > $y | levert waar op wanneer de waarde van $x groter is dan de waarde van $y |
| groter of gelijk aan | >= | $x >= $y | levert waar op wanneer de waarde van $x groter is dan of gelijk is aan de waarde van $y |
| kleiner dan | < | $x < $y | levert waar op wanneer de waarde van $x kleiner is dan de waarde van $y |
| kleiner of gelijk aan | <= | $x <= $y | levert waar op wanneer de waarde van $x kleiner is dan of gelijk is aan de waarde van $y |
| spaceship | <=> | $x <=> $y | levert 0 op wanneer de waarde van $x gelijk is aan de waarde van $y, 1 wanneer de waarde van $x groter is of -1 wanneer de waarde van $x kleiner is |
Het getal 5 en de tekenreeks "5" hebben dezelfde waarde, namelijk 5, maar zijn niet van hetzelfde (gegevens)type. Binair worden deze ook anders in het geheugen opgeslagen.
In PHP zijn er twee speciale operatoren voor het concateneren van tekenreeksen (tekst aan elkaar plakken).
| operator | voorbeeld | omschrijving |
| . | $txt1 . $txt2 | plakt de waardes van $txt1 en $txt2 aan elkaar (concatenatie) |
| .= | $txt1 .= $txt2 | voegt de waarde van $txt2 achter aan de waarde van $txt1 toe |
Met logische operatoren kunnen verschillende voorwaarden (of booleaanse waarden) worden gecombineerd.
| combinatie | operator | voorbeeld | resultaat |
| en | and | $x and $y | levert waar op wanneer zowel $x als $y waar zijn |
| ,, | && | $x && $y | ,, |
| of | or | $x or $y | levert waar op wanneer $x of $y waar is (of beiden) |
| ,, | || | $x || $y | ,, |
| exclusief | xor | $x xor $y | levert enkel waar op wanneer één van de twee ($x of $y) waar is, maar niet allebei |
| niet | ! | !$x | levert waar op wanneer $x niet waar is en andersom |
Met bitsgewijze operatoren kunnen specifieke bits binnen byte (of reeks bytes) geëvalueerd of gemanipuleerd worden.
| bewerking | operator | voorbeeld | resultaat |
| en | & | $x & $y | levert een waarde op waarbij alle bits 1 worden wanneer deze in zowel $x als $y 1 zijn |
| of | | | $x | $y | levert een waarde op waarbij alle bits 1 worden wanneer deze in $x of $y 1 is (of beide) |
| exclusief | ^ | $x ^ $y | levert een waarde op waarbij alle bits 1 worden wanneer deze in één van de twee ($x of $y) 1 is, maar niet allebei |
| niet | ~ | ~$x | levert een waarde op waarbij alle bits 1 worden die in $x 0 zijn en andersom |
| shift links | << | $x << $y | levert een waarde op waarbij alle bits van $x $y stappen naar links zijn verschoven (iedere stap betekent "vermenigvuldigen met twee") |
| shift rechts | >> | $x >> $y | levert een waarde op waarbij alle bits van $x $y stappen naar rechts zijn verschoven (iedere stap betekent "delen door twee") |
Met bitsgewijze toewijzingsoperatoren kan een waarde aan een variabele worden toegekend.
| toewijzing | gelijk aan | omschrijving |
| $x &= $y | $x = $x & $y | hierbij worden alle bits in de variabele links 1 wanneer deze in zowel de variabele links als de waarde rechts 1 zijn |
| $x |= $y | $x = $x | $y | hierbij worden alle bits in de variabele links 1 wanneer deze in of de variabele links of de waarde rechts 1 zijn (of beide) |
| $x ^= $y | $x = $x ^ $y | hierbij worden alle bits in de variabele links 1 wanneer deze in de variabele links of de waarde rechts 1 zijn, maar niet allebei |
| $x <<= $y | $x = $x << $y | hierbij worden alle bits van de variabele links zoveel stappen naar links verschoven als de waarde rechts |
| $x >>= $y | $x = $x >> $y | hierbij worden alle bits van de variabele links zoveel stappen naar rechts verschoven als de waarde rechts |
Met de null coalescing operator kan een standaard waarde worden teruggegeven voor het geval een variabele niet bestaat.
| operator | voorbeeld | omschrijving |
| ?? | $x ?? $y | geeft de waarde van $x terug wanneer deze bestaat en anders die van $y |
| ??= | $x ??= $y | hierbij wordt de waarde van de variabele links gelijkgesteld aan de waarde rechts, wanneer de variabele links niet bestaat |
Deze operator maakt het mogelijk if-statements te omzeilen en zo kortere, maar niet altijd leesbaardere, code te schrijven.
<?php
if (isset($_GET["maximum"])) {
$maximum = $_GET["maximum"];
} else {
$maximum = 10;
}
?>
Dit kan worden afgekort tot:
<?php
$maximum = $_GET["maximum"] ?? 10;
?>
Met de ternaire operator kan op basis van een voorwaarde een van twee waardes worden teruggegeven.
| operator | voorbeeld | omschrijving |
| ? : | $x ? $y : $z | geeft de waarde van $y terug wanneer $x waar is en de waarde van $z wanneer $x onwaar is |
Deze operator maakt het mogelijk if-statements te omzeilen en zo kortere, maar niet altijd leesbaardere, code te schrijven.
<?php
if ($subtotaal < 20) {
$verzendkosten = 4.95;
} else {
$verzendkosten = 0;
}
?>
Dit kan worden afgekort tot:
<?php
$verzendkosten = ($subtotaal < 20) ? 4.95 : 0;
?>