本帖最后由 lscxp 于 2013-08-29 18:18:23 编辑

解决方案 »

  1.   

    看这帖
    http://bbs.csdn.net/topics/390571704一天居然两人问同一个问题
      

  2.   

    $b = &$a;
    应该是把变量a变成引用类型了。$a = 2;
    echo (++$a) + ($a++) ;
    过程是  
    先运行$a自增,然后把自增后的结果返回,就是3
    3+ ($a++) 
    $a++的结果是3,然后会执行$a自增,但是表达式的结果已经返回了就是3
    所以输出是 3+3 ,a是4

    $a = 2;
    $b = &$a;
    echo (++$a) + ($a++) ;
    则不同,(++$a)不受影响,
    ($a++)和之前不一样,之前应该是返回 $a的值,
    现在应该是返回指向$a的地址(当然还是要通过地址获取实际值的)
    返回$a的地址后,会执行$a自增,a变成4, 而之前只是获取到了$a的地址,
    现在会进行寻址获取值,所以获取到的是4
    结果是 3+4
      

  3.   

    $a = 2;
    $b = &$a;
    echo  ($a++)  + (++$a);  //结果是6
    这个怎么解释呢?
      

  4.   

    &$a 表示链接 所以3+3=6