Inkrement- bzw. Dekrementoperatoren

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

Tabelle 15-5. Inkrement- und Dekrementoperatoren

BeispielNameAuswirkung
++$aPrä-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.
--$aPrä-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
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.

Beispiel 15-1. Arithmetrische Operationen an Zeichenvariablen

<?php
$i
= 'W';
for(
$n=0; $n<6; $n++)
  echo ++
$i . "\n";

/*
  Erzeugt in etwa folgende Ausgabe:

X
Y
Z
AA
AB
AC

*/
?>

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:57:10