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

更新于:2020年9月19日

11K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告