1. Zuweisungsoperatoren
In PHP existieren einige Zuweisungsoperatoren die den Inhalt einer Variable relativ bearbeiten. Dabei wird die Variable nicht mit einem neuen Wert überschrieben sondern der Inhalt wird um einen Wert verändert.
<?php
$var = 5;
$var = $var + 10;
$var += 10;
?>
Die zweite Programmzeile addiert die Werte der Variablen und der Konstante zusammen und speichert
das Ergebnis in die Variable. Die dritte Programmzeile hingegen verändert den Inhalt der Variable
direkt ohne das rechts von einem Gleichheitszeichen ein Ausdruck ausgewertet werden muss. Dies ist
also eine Kurzschreibweise für den Programmcode in Zeile 2. Bei dem +=
handelt es sich
um einen fest definierten Operator, zwischen den beiden Zeichen darf kein Leerzeichen stehen.
<?php
$var = 5;
$var += 10; // richtig
$var + = 10; // falsch, ergibt ein Parse Error
?>
Diese Kurzschreibweisen gehen mit allen Grundrechenarten in PHP, auch mit /
und %
.
Beim Teilen muss natürlich wieder drauf geachtet werden dass nicht durch 0 geteilt wird.
<?php
$var = 20;
$var +=4; // $var == 24
$var *=4; // $var == 96
$var -=4; // $var == 92
$var /=4; // $var == 23
$var %=4; // $var == 3 (23/4 = 5 Rest 3)
?>
Diese Kurzschreibweise ist auch für den Verkettungsoperator .
definiert um schnell und einfach
neuen Text an einer Variable dranzuhängen.
<?php
$x = 5;
$string = "Hallo \n";
$string .= "So kann man gut Sätze anhängen.\n";
$string .= 'test';
$string .= 'Die Variable hat den Wert '.$x."\n";
?>
In der letzten Programmzeile wird der Ausdruck rechts vom Operator .=
zuerst ausgerechnet
und dann entsprechend der Variable angehängt.
2. In-/Dekrementieren
In einem Programmcode kommt es oft vor dass der Inhalt einer Variable um 1 erhöht bzw. verringert wird. Daher existieren in PHP Inkrement und Dekrement Operatoren die genau dies machen. Die Syntax ist angelehnt an der Programmiersprache C.
<?php
$name = 10;
$name++; // Wert erhöhen um 1
echo $name; // gibt 11 aus
?>
Dies war die Variante zum Inkrementieren, fürs Dekrementieren wird der --
-Operator verwendet.
<?php
$name = 10;
$name--; // Wert verringern um 1
echo $name; // gibt 9 aus
?>
Für Multiplikation und Division existieren keine solche Operatoren, würden auch keinen Sinn ergeben. Diese Inkrement/Dekrement-Operatoren werden üblicherweise bei for-Schleifen verwendet um die Laufvariable entsprechend um 1 zu verändern.