note: 递增/递减运算符不影响布尔值。递减 null 值也没有效果,但是递增 null 的结果是 1。
递增/递减运算符
例子
名称
效果
++$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 中 $a = 'z'; $a++; 将把 $a 变成'aa',而在 c 中,a = 'z'; a++; 将把 a 变成 '['('z' 的 ascii 值是 90,'[' 的 ascii 值是 91)。注意字符变量只能递增,不能递减,并且只支持纯字母(a-z 和 a-z)。递增/递减其他字符变量则无效,原字符串没有变化。
example #1 涉及字符变量的算数运算
<?php $i = 'w'; for ($n=0; $n<6; $n++) { echo ++$i . "\n"; } ?>
以上例程会输出:
x y z aa ab ac
