PHP 支持 C 風(fēng)格的前/后遞增與遞減運(yùn)算符。
注意: 遞增/遞減運(yùn)算符不影響布爾值。遞減
null
值也沒(méi)有效果,但是遞增null
的結(jié)果是1
。
例子 | 名稱(chēng) | 效果 |
---|---|---|
++$a | 前加 | $a 的值加一,然后返回 $a。 |
$a++ | 后加 | 返回 $a,然后將 $a 的值加一。 |
--$a | 前減 | $a 的值減一, 然后返回 $a。 |
$a-- | 后減 | 返回 $a,然后將 $a 的值減一。 |
一個(gè)簡(jiǎn)單的示例腳本:
<?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";
?>
在處理字符變量的算數(shù)運(yùn)算時(shí),PHP 沿襲了 Perl 的習(xí)慣,而非 C 的。例如,在
Perl 中 $a = 'Z'; $a++;
將把 $a
變成'AA'
,而在 C 中,a = 'Z'; a++;
將把
a
變成 '['
('Z'
的 ASCII 值是 90,'['
的 ASCII 值是
91)。注意字符變量只能遞增,不能遞減,并且只支持純字母(a-z 和
A-Z)。遞增/遞減其他字符變量則無(wú)效,原字符串沒(méi)有變化。
示例 #1 涉及字符變量的算數(shù)運(yùn)算
以上例程會(huì)輸出:
== Characters == X Y Z AA AB AC == Digits == A9 B0 B1 B2 B3 B4 A09 A10 A11 A12 A13 A14
遞增或遞減布爾值沒(méi)有效果。