php基础问题
最近入手一本细说php正在照书学习 有段基础代码不甚了解 球赐教
<?php
$a=10;
$b=$a++ + ++$a; //前面的$a++是先算表达式即10+1=11,后面++$a是先递增一再计算表达式即11+1=12(新的$a),$b=(新)$a+$a=12+10=22
echo " $a <br>";
echo " $b<br>";
$b=$a-- - --$a;//前面的$a--是先算表达式即12-1=11,后面--$a是先递减一再计算表达式即11-1=10(新的$a),$b=(新)$a-$a=10-12=-2
echo" $a<br>";
echo "$b<br>";
?>
以上的注释是个人的理解 按这样最后的echo“$b<br>"应该输出的是-2啊,例子和实际运行均显示输出的数字是2.这样看来肯定是我的理解有误!求正解!
分别输出
12
22
10
2
湖中沉 发表于 2011-9-28 22:39 static/image/common/back.gif
分别输出
12
22
知道是输出那些、
就是不知道为什么最后的输出不是-2而是2
肯定是基础的地方没有理解
想知道为什么算出来是2 而不是负2 因为按我的理解最后一行的结果是负2!
谢谢 哈哈 解决了$b=$a++ 此时b的值还是10.a在把值赋给b后变成了11.
$b=++$a 此时b的值是12(即先加1再赋值) 所以这样就变成了a=12, b=22;
$b=$a-- 此时b的值还是12.a在把值赋给b后变成了11.
$b=--$a 此时b的值是10(即先减1再赋值) 所以这样就变成了a=10, b=2(相当于12-10);哈哈 百度知道上问到的 嘿嘿 其实很怕这种基础知识没弄清楚的
呵呵 话说 百度娘真是强大啊{:4_91:}
页:
[1]