PHP 自增/自减运算符
介绍
PHP 中也定义了 C 语言风格的自增和自减运算符,分别用 **++** 和 **--** 表示。顾名思义,自增运算符 ++ 将操作数变量的值增加 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" . "
"; ++$y; //prefix increment --$x; //prefix decrement echo "x = $x y = $y" . "
";; ?>
输出
将显示以下结果
x = 6 y = 4 x = 5 y = 5
在赋值表达式中,后缀 ++ 或 -- 运算符的优先级低于 =。因此,$a=$x++ 的结果是先执行 $a=$x,然后执行 $x++。另一方面,前缀 ++/-- 运算符的优先级高于 =。因此,$b=--$y 的计算顺序是先执行 --$y,然后将结果 $y 赋值给 $b。
示例
<?php $x=5; $y=5; $a=$x++; //postfix increment echo "a = $a x = $x" . "
"; $b=--$y; //prefix decrement echo "b = $b y = $y" . "
"; ?>
输出
将显示以下结果
a = 5 x = 6 b = 4 y = 4
也可以对 ASCII 字符变量进行自增/自减运算。自增将导致 ASCII 集中的下一个字符。如果自增超过了集合,即超过了 Z,则将重复下一轮 ASCII 集,即值为 Z 的变量将自增为 AA。自增运算符会忽略非 ASCII 字符(A-Z、a-z 和 0-9 之外的字符)。
示例
<?php $var='A'; for ($i=1; $i<=3; $i++){ echo ++$var . "
"; } $var1=1; for ($i=1; $i<=3; $i++){ echo ++$var1 . "
"; } ?>
输出
将显示以下结果
B C D 2 3 4
广告