PHP Portal » PHP Handbuch » Inkrement- bzw. Dekrementoperatoren

Werbung

Inkrement- bzw. Dekrementoperatoren


PHP unterstützt Prä- und Post-Inkrement- und Dekrementoperatoren im Stil der Programmiersprache C.

Inkrement- und Dekrementoperatoren
Beispiel Name Auswirkung
++$a Prä-Inkrement Erhöht den Wert von $a um eins (inkrementiert $a) und gibt anschließend den neuen Wert von $a zurück.
$a++ Post-Inkrement Gibt zuerst den aktuellen Wert von $a zurück und erhöht dann den Wert von $a um eins.
--$a Prä-Dekrement Vermindert den Wert von $a um eins (dekrementiert $a) und gibt anschließend den neuen Wert von $a zurück.
$a-- Post-Dekrement Gibt zuerst den aktuellen Wert von $a zurück und erniedrigt dann den Wert von $a um eins.

Ein einfaches Beispiel-Skript:

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
echo "<h3>Post-Inkrement</h3>"; $a = 5; echo "Sollte 5 sein: " . $a++ . "<br />\n"; echo "Sollte 6 sein: " . $a . "<br />\n"; echo "<h3>Pre-Inkrement</h3>"; $a = 5; echo "Sollte 6 sein: " . ++$a . "<br />\n"; echo "Sollte 6 sein: " . $a . "<br />\n"; echo "<h3>Post-Dekrement</h3>"; $a = 5; echo "Sollte 5 sein: " . $a-- . "<br />\n"; echo "Sollte 4 sein: " . $a . "<br />\n"; echo "<h3>Pre-Dekrement</h3>"; $a = 5; echo "Sollte 4 sein: " . --$a . "<br />\n"; echo "Sollte 4 sein: " . $a . "<br />\n";

PHP folgt bei der Behandlung arithmetischer Operationen an Zeichenvariablen der Perl-Konvention und nicht der von C. Zum Beispiel wird in Perl aus 'Z'+1 'AA', während aus 'Z'+1 in C '[' wird ( ord('Z') == 90, ord('[') == 91 ). Beachten Sie, dass Zeichenvariablen zwar inkrementiert aber nicht dekrementiert werden können.

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
$i = 'W'; for($n=0; $n<6; $n++) echo ++$i . "\n"; /* Erzeugt in etwa folgende Ausgabe: X Y Z AA AB AC */