php中的$b = 10; $ab = $b + $b++;,谁能详细的解释一下PHP中$a=10;$b=$a--+--$a;的执行过程吗?...

谁能详细的解释一下PHP中 $a=10; $b=$a-- + -- $a; 的执行过程吗?

我在看高洛峰老师的著作《细说PHP》时,发现

$a = 10;

$b = $a++ + ++$a; //书上写的执行过程是$a先自增1后再自增1,再赋给$b

echo $a; //$a = 12;

echo $b; //$b = 22;

$b = $a-- - --$a; //$a先自增1后再自增1,再赋给$b

echo $a; //$a = 10

echo $b; //$b = 2

如果如上逻辑,那么再加上

$b = $a-- + --$a;

echo $a; //$a = 8;

echo $b; //$b = 18;

有谁能说一下这段代码的详细执行过程吗?

回复内容:

谁能详细的解释一下PHP中 $a=10; $b=$a-- + -- $a; 的执行过程吗?

我在看高洛峰老师的著作《细说PHP》时,发现

$a = 10;

$b = $a++ + ++$a; //书上写的执行过程是$a先自增1后再自增1,再赋给$b

echo $a; //$a = 12;

echo $b; //$b = 22;

$b = $a-- - --$a; //$a先自增1后再自增1,再赋给$b

echo $a; //$a = 10

echo $b; //$b = 2

如果如上逻辑,那么再加上

$b = $a-- + --$a;

echo $a; //$a = 8;

echo $b; //$b = 18;

有谁能说一下这段代码的详细执行过程吗?

汗,三段代码都是一样的,有必要放那么多么?不管是$a++还是++$a,你只要明白是从左往右读代码就好了。

$a++的意思是先将$a的值取出,然后对其自行自加1,所以$b = $a++;的话输出的结果应该是$a=11;$b=10;

++$a的意思则是先对$a进行自加1,然后再将$a值取出,所以$b = ++$a;的话输出的结果应该是$a = 11;$b=11;

如果你能理解上面两段话的话,按照这个思路理解你的算段就不是问题了。我就距离说一下你最后一个吧:

$b = $a-- + --$a;

这个为了方便理解应该可以拆分成

$c = $a--;

$d = --$a;

$b = $c + $d;

按照上面的解释,$a--这里返回的就是$a值,然后$a自减1,此时$a=9;$c=10;。--$a这里是$a自减1然后返回$a值,所以此时$a=8;$d=8;。最后得到的结果自然是$a=8;$b=18;。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值