| |
| * Link führt ins Internet |
|
| |
Inkrement- bzw. Dekrementoperatoren
|
|
PHP unterstützt Prä- und Post-Inkrement- und Dekrementoperatoren im Stil der Programmiersprache C.
Zwei in der Programmierung häufig benötigte Operationen sind die Erhöhung bzw. Verminderung eines Zahlenwerts um 1.
. Die Erhöhung um 1 bezeichnet man als Inkrement.
. Die Verminderung um 1 als Dekrement.
Für Inkrement und Dekrement gibt es in PHP zwei spezielle Operatoren:
. ++ (Inkrement)
. -- (Dekrement)
Beide Operatoren weisen gegenüber den anderen arithmetischen Operatoren einige Besonderheiten auf:
. sie haben nur einen Operanden,
. sie können ihrem Operanden vor- oder nachgestellt werden (Präfix/Postfix),
. sie verändern den Wert ihres Operanden.
Sie sollten sich folgendes Beispiel betrachten. Angenommen, Sie wollen den Wert einer Variablen i um 1 vermindern. Ohne Dekrementoperator würden Sie dafür schreiben.
Mit dem Dekrementoperator geht es schneller.
Statt der Postfixnotation, dabei wird der Operator seinem Operanden nachgestellt, können Sie auch die Präfixnotation, hier ist der Operator seinem Operanden vorangestellt, verwenden.
Sofern Sie den Dekrement- oder Inkrementoperator allein verwenden, ist es gleich, ob Sie die Postfix- oder Präfixnotation verwenden. Wenn Sie den Dekrement- oder Inkrementoperator in einem Ausdruck verwenden, müssen Sie jedoch klar zwischen Postfix- und Präfixnotation unterscheiden, denn beide führen zu unterschiedlichen Ergebnissen.
Beispiel
$summe = 0;
$zahl = 20;
$summe = ++$zahl; // Ergebnis: $summe und $zahl gleich 21
|
Hier wird der Wert der Variablen $zahl um 1 hoch gesetzt und der neue Wert wird der Variablen $summe zugewiesen. Nach Ausführung der Anweisung sind $summe und $zahl gleich. Anders sieht es aus, wenn Sie den Operator nachstellen.
Beispiel
$summe = 0;
$zahl = 20;
$summe = $zahl++; // Ergebnis: $summe 20 und $zahl 21
|
Hier wird ebenfalls der Wert der Variablen $zahl um 1 hoch gesetzt, doch der Variablen $summe wird noch der alte Wert zugewiesen. Nach Ausführung der Anweisung hat $summe den Wert 20, während $zahl den Wert 21 hat. Ein weiteres Beispiel soll dies mit Hilfe einer if-Anweisung veranschaulichen.
Beispiel
if (++$gehalt >= 2000) {
...
}
|
Im Beispiel mit der Präfixnotation wird der Wert der Variable $gehalt zuerst um eins erhöht und anschließend mit der Zahl 2000 verglichen.
Beispiel
if ($gehalt++ >= 2000) {
...
}
|
Im Beispiel mit der Postfixnotation wird der Wert der Variable $gehalt zuerst mit der Zahl 2000 verglichen und anschließend um eins erhöht. Auch hier gibt es einen Unterschied, denn es zu beachten gilt.
| Operator | Bezeichnung | Bedeutung |
| ++ | Präinkrement | ++$a ergibt $a+1 und erhöht $a um 1 |
| ++ | Postinkrement | $a++ ergibt a und erhöht $a um 1 |
| -- | Prädekrement | --$a ergibt $a-1 und verringert $a um 1 |
| -- | Postdekrement | $a-- ergibt $a und verringert $a um 1 |
|
|
|
|
|
|
|