自加、自减运算
自加自减,就是把自己加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; ?>
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
":""}
**三8年前
$foo = 5 + 6 //11 因为后面又调用了一次$x; 此时:$x 为:5; $bar = 7 + 6 //13 因为上面$x为5 这次前++ 就为6 ,$y 初始值为6 前++ 就为7; 此时$y值 为7 , $x 值为6; $cup = 6 + 7 //13 因为上面$x 值为6 $y值为7 此时$x值为5,$y值为6 $paper = 6 + 6 //12 因为上面$
折印8年前
//$foo=11; //$foo= $x++ + $x--;(先赋值左边的$x为5,再自加$x++结果6,此时左边$x值为6,然后右边的$x先赋值[这个值取的是左边自加后的6],再自减$x--结果是5,最后左边6右边5相加为11)
phpcn_u702348年前
// $foo=11; x=5 y=6 // $bar=13; x=6 y=7 // $cup=13; x=5 y=6 // $paper=12; x=7 y=6 // $water=13; x和y代表着经过运算后x和y的值
RocherY9年前
$foo:5+(过了加号$x++自加变成6)6=11 此时$x--自减变成5 $x=5 $y=6 $bar:6+1 + 5+1 =13 此时$x=6 $y=7 $cup:6+7=13 $x过了加号之后自减变成5,运算结束后$y自减变成6 $x=5 $y=6 $paper:5+1+(此时$x=6)6=12 运算结束后$x自加变成7 $x=7 $y=6 water: 6+7=13 $
visual7年前
//$foo=6+5;此时x=5 //$bar=7+6 此时先运算后赋值,x=6,y=7 //相当于两次运算先算$cup=6+7最后再算x=5,y=6 //$paper=6+6 x=7 //$water=6+7 x=6,y=5
最美的眼睛8年前
我给大家总结一下 <?php $x = 5; $y = 6; 5 + 6 =11 $foo = $x++ + $x--; 现在的x是5 7 + 6 =13 $bar = ++$y + ++$x;现在的y是7 x是6 6 + 7 =13 $cup = $x-- + $y--;现在的x是5 y是6 6 + 6 =12 $paper = ++$x + $x++;现在的x是7 6 +
¤8年前
前面有点晕,有点错误 $foo = $x++ + $x--;//11 7+4 这个不参与下面的运算 $bar = ++$y + ++$x;//13 7+6 $cup = $x-- + $y--;//13 6+7 $paper = ++$x + $x++;//12 6+6 $water = $y-- + $x--;//13 7+6 echo $water + $paper;//25
¤8年前
$x = 5; $y = 6; $foo = $x++ + $x--;//5+6=11先赋值 还没有自增 $bar = ++$y + ++$x;//8+7=14 调用上边得要增一,然后在先加一 一共 是二 $cup = $x-- + $y--;//7+8=14这个 是先赋值 还没开始自减 下面调用的时候再减,所以不变 $paper = ++$x + $x++;//7+6=13 第
¤8年前
$x = 5; $y = 6; $foo = $x++ + $x--;//5+6=11 $bar = ++$y + ++$x;//8+7=14 $cup = $x-- + $y--;//7+8=14 $paper = ++$x + $x++;//6+6=12 $water = $y-- + $x--;//6+7=13 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;
木子凡7年前
自加自减,就是把自己加1,或者减1。 如果你学习过其他编程语言。你会发现,此处的用法又是计算机里面的一个规定。可以这样用,用起来更加简洁。 $x++ 先赋值后加 $x-- 先赋值后减 ++$x 先加后赋值 --$x 先减后赋值
0
影清如梦8年前
php基础语法之自加自减 自加、自减运算 自加自减,就是把自己加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; ?>
0
3期-Shawn8年前
<?php $x = 5; $y = 6; $foo = $x++ + $x--; echo $x."<br>"; echo $y."<br>"; echo $foo."<br>"."<br>"; $bar = ++$y + ++$x; echo $x."<br>"; echo $y."<br>"; echo $bar."<br>"."<br>"; $cup = $x-- + $y--; echo $x."<br>"; echo $y."<br>"; echo $cup."<br>"."<br>"; $paper = ++$x + $x++; echo $x."<br>"; echo $y."<br>"; echo $paper."<br>"."<br>"; $water = $y-- + $x--; echo $x."<br>"; echo $y."<br>"; echo $water."<br>"."<br>"; echo $water + $paper; ?>
0
58157878年前
起初 $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
0