++$a 的用法
++$a 等价于 $a = $a + 1,比如 $a 初始化值为 1,那么 $a = 1 + 1,得出 $a = 2。
++$a 的执行过程:先将 $a 加 1,然后在进行赋值。
$a++ 的用法
先将 $a 值赋值给变量 $x(也就是 $x = $a),然后 $a 值加 1(也就是 $a = $a + 1)。
总结
$x = ++$a 相当于 $a++,$x = $a。
$x = $a++ 相当于 $x = $a,$a++。
++$a 和 $a++ 单独使用时,相当于 $a = $a + 1。
如果赋值给一个新变量,则 ++$a 先将 $a 值加 1,而 $a++ 先将 $a 赋值给新变量。
$a = 1;
$b = $a++; // $b = 1; $a = 2;
$c = ++$a; // $c = 3; $a = 3;
进阶
$a = 1;
$b = $a++ + ++$a; // $b = 1 + 3;
echo $a; // $a = 3;
echo $b; // $b = 4;
$a = 1;
$a++;
++$a;
$a++;
$b = $a++ + ++$a; // $b = 4 + 6
echo $a; // $a = 6;
echo $b; // $b = 10;
升华
- 不论是 $a++ 还是 ++$a;$a的值会一直加 1;
- $a++ 先赋值后运算,++$a 先运算后赋值;
- 参与运算时 $a++ 等于$a 的值, ++$a 等于 $a + 1 的值。