自加、自减运算
自加自减,就是把自己加1,或者减1。
如果你学习过其他编程语言。你会发现,此处的用法又是计算机里面的一个规定。可以这样用,用起来更加简洁。
符号 | 说明 |
---|---|
$x++ | 先赋值后加 |
$x-- | 先赋值后减 |
++$x | 先加后赋值 |
--$x | 先减后赋值 |
上面的用法其实挺简单的,按照上面的例子。我们分成步骤去,按过程去判断即可。
<?php $x = 5; //先赋值后加:即先将$x的值赋值给$y。$x的值为5,所以将$x的值赋值给$y。$y也为5 $y = $x++; //$x的结果输出为6,因为赋值给$y后,$x自己又把自己进行了+1操作。所以,$x的结果为6 echo $x; ?>
我们来对比一下先加后赋值,如下:
<?php $x = 5; //先将$x自加1,$x等于5,自加1后结果为6。因此,$y的结果为6 //自加后,再将结果6偷偷的赋值给自己$x $y = ++$x; //$x的结果输出也为6。因为$x执行+1完成后,将5+1的结果赋值给了自己 echo $x; ?>
你再做实验,试试$x-- 和 --$x的结果是这样吗?
请回答,下面$water + $paper的结果为多少?
<?php $x = 5; $y = 6; $foo = $x++ + $x--; $bar = ++$y + ++$x; $cup = $x-- + $y--; $paper = ++$x + $x++; $water = $y-- + $x--; echo $water + $paper; ?>
$foo = $x++ + $x--; //$x++ = 5;$x -- = 6;x=5; 11 $bar = ++$y + ++$x; //++$y = 7; $y=7; ++x=6; x=6; 13 $cup = $x-- + $y--; //$x--=6; x=5; $y--=7; y=6; 13 $paper = ++$x + $x++;//++$x=6; x=6; $x++=6;
**三6年前
$paper = 6 + 6 //12 因为上面$x的值为5 这次前++$x 就为6 + 6 此时$x值为7 $y 值因为没经过计算还是为6 $water = 6 + 7 //13
折印6年前
晕,才写完,就发现前面没写清楚,还写错了解释,更正下,先左边取值5(用于计算$foo的计算),再自加为6(左边的$x自加后的结果,并且是右边的取值) 右边取值为6(用于计算$foo的计算) 然后自减为5; $foo=5+6 $x的变化则是 5>5自加>6>6自减>5
折印6年前
后面的一步一步来条理理清就行,如果我错了,请指出。 <?php $x = 5; $y = 6; //$foo = $x++ + $x--; //echo $foo.'</br>'; //$bar = ++$y + ++$x; //echo $bar.'<br/>'; //$cup = $x-- + $y--; //echo $cup.'&
我只是一条咸鱼哈6年前
起初 $x = 5 $y = 6 1.$foo = $x++ + $x-- 这里我们先赋值(因为$x++和$x--嘛),所以$foo = 5 + 5 =10 然后,$x+1=6 再 $x-1=5 最后 $x=5 $y=6 2.$bar = ++$y + ++$x 这里是先(计算再赋值),所以$bar = (y+1) + (x+1) = 13 而 $x=6 $y=7 3.$cup = $x-- + $y-- $cup = 6+7 =13 然后再x-1=5 y-1=6 4.$paper = ++$x + $x++ (这里要看仔细了++$x是先计算再赋值,而$x++ 是先赋值再计算) $paer = (x+1)+ [x=(x+1)] =6+6=12 ++$x这里 = 后面的$x 这时,$x=x+1=7 $y=6 5.$water = $y-- + $x-- 到这里就简单了还是先赋值 所以$water=7+6=13 最后的$x=7-1=6 $y=6-1=5 计算 $water + $paper = 13+12=25
3
phpcn_u13347年前
自加、自减运算 自加自减,就是把自己加1,或者减1。 如果你学习过其他编程语言。你会发现,此处的用法又是计算机里面的一个规定。可以这样用,用起来更加简洁。 符号 说明 $x++ 先赋值后加 $x-- 先赋值后减 ++$x 先加后赋值 --$x 先减后赋值
0