PHP unterstützt Pre/Post-Inkrementierungs- und Dekrementierungsoperatoren im C-Stil.
Hinweis: Inkrementierungs-/Dekrementierungsoperatoren haben keinen Einfluss auf boolesche Werte. Das Verringern eines NULL-Werts hat keine Auswirkung, aber das Erhöhen von NULL führt zu 1.
Inkrementierungs-/Verringerungsoperator
Beispiel
Name
Effekt
Voranstellen ++$a , erhöhen Sie den Wert von $a um eins und geben Sie $a zurück.
$a++ gefolgt von gibt $a zurück und addiert dann eins zum Wert von $a.
--$a Subtrahiert den Wert von $a um eins und gibt dann $a zurück.
$a-- Nach der Subtraktion wird $a zurückgegeben, dann wird der Wert von $a um eins verringert.
Ein einfaches Beispielskript:
<?php echo "<h3>Postincrement</h3>"; $a = 5; echo "Should be 5: " . $a++ . "<br />\n"; echo "Should be 6: " . $a . "<br />\n"; echo "<h3>Preincrement</h3>"; $a = 5; echo "Should be 6: " . ++$a . "<br />\n"; echo "Should be 6: " . $a . "<br />\n"; echo "<h3>Postdecrement</h3>"; $a = 5; echo "Should be 5: " . $a-- . "<br />\n"; echo "Should be 4: " . $a . "<br />\n"; echo "<h3>Predecrement</h3>"; $a = 5; echo "Should be 4: " . --$a . "<br />\n"; echo "Should be 4: " . $a . "<br />\n"; ?>
Beim Umgang mit arithmetischen Operationen an Zeichenvariablen folgt PHP den Gewohnheiten von Perl statt denen von C. Beispielsweise wird in Perl $a = 'Z'; $a++; in 'AA' umgewandelt, während in C a = 'Z'; von '[' ist 90 und der ASCII-Wert von '[' ist 91). Beachten Sie, dass Zeichenvariablen nur inkrementiert, nicht dekrementiert werden können und nur reine Buchstaben (a-z und A-Z) unterstützt werden. Das Erhöhen/Verringern anderer Zeichenvariablen ist ungültig und die ursprüngliche Zeichenfolge ändert sich nicht.
Beispiel #1 Arithmetische Operationen mit Zeichenvariablen
<?php $i = 'W'; for ($n=0; $n<6; $n++) { echo ++$i . "\n"; } ?>
Die obige Routine gibt Folgendes aus:
X Y Z AA AB AC