遞增/遞減運算符

PHP 支援 C 風格的前/後遞增與遞減運算符。

注: 遞增/遞減運算符不影響布林值。遞減 NULL 值也沒有效果,但是遞增 NULL 的結果是 1

表格 15-6. 遞增/遞減運算符

例子名稱效果
++$a前加$a 的值加一,然後返回 $a。
$a++後加返回 $a,然後將 $a 的值加一。
--$a前減$a 的值減一, 然後返回 $a。
$a--後減返回 $a,然後將 $a 的值減一。

一個簡單的示例腳本:

<?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";
?>

在處理字元變量的算數運算時,PHP 沿襲了 Perl 的習慣,而非 C 的。例如,在 Perl 中 'Z'+1 將得到 'AA',而在 C 中,'Z'+1 將得到 '['(ord('Z') == 90,ord('[') == 91)。注意字元變量只能遞增,不能遞減。

例子 15-4. 涉及字元變量的算數運算

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

上例將輸出:

X
Y
Z
AA
AB
AC

遞增或遞減布林值沒有效果。