分别由++和-表示的C样式增量和减量运算符也在PHP中定义。顾名思义,++增量运算符将操作数变量的值加1。减数运算符-将值减1。这两个都是一元运算符,因为它们只需要一个操作数。这些运算符(++或-)可以以前缀或后缀的方式使用,既可以用作表达式,也可以与更复杂的表达式中的其他运算符一起使用。
$x=5; $x=5; $y=5; $x++; //postfix increment $y--; //postfix decrement ++$y; //prefix increment --$x; //prefix decrement
独立使用时,后缀和前缀递增/递减运算符的行为类似。结果,$x ++和++ $x都将$x的值加1。类似地,$y--和-$y都将$y的值减1。
以下代码以后/前缀方式显示增量/减量运算符的效果
<?php $x=5; $y=5; $x++; //postfix increment $y--; //postfix decrement echo "x = $x y = $y" . "\n"; ++$y; //prefix increment --$x; //prefix decrement echo "x = $x y = $y" . "\n";; ?>
输出结果
将显示以下结果
x = 6 y = 4 x = 5 y = 5
在赋值表达式中使用时,后缀++或-运算符的优先级小于=。因此,$a = $x ++导致$a = $x,然后是$x ++。另一方面,前缀++ /-运算符的优先级高于=。因此,首先执行-$y,然后将结果$y赋给$b来求值$b =-$y
<?php $x=5; $y=5; $a=$x++; //postfix increment echo "a = $a x = $x" . "\n"; $b=--$y; //prefix decrement echo "b = $b y = $y" . "\n"; ?>
输出结果
将显示以下结果
a = 5 x = 6 b = 4 y = 4
也可以使用ASCII字符变量进行增量/操作。递增结果是ASCII集中的下一个字符。如果增量超出集合,即超过Z,则重复下一轮ASCII集,即,值Z的变量将增加到AA。增量运算符将忽略非ASCII字符(AZ,az和0-9除外)。
<?php $var='A'; for ($i=1; $i<=3; $i++){ echo ++$var . "\n"; } $var1=1; for ($i=1; $i<=3; $i++){ echo ++$var1 . "\n"; } ?>
输出结果
将显示以下结果
B C D 2 3 4