加一/减一运算符

PHP 支持 C 风格的前/后加一与减一运算符。

表格 10-5. 加一/减一运算符

例子名称效果
++$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 )。

例子 10-1. 涉及字符变量的算数运算

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

/*
  Produces the output similar to the following:

X
Y
Z
AA
AB
AC

*/
?>