Forum und email

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
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.

Example#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

*/
?>