解决方案 »

  1.   

    function demo(&$a, &$b) { $a = $b; } 这个运行才是2
      

  2.   

    为了便于描述,改了一下形参名function demo(&$x, &$y) {
      $x =& $y;

    $a = 1; 
    $b = 2; 
    demo($a, $b); 
    print $a; 
    &$x 是 global $a 的另一种表现形式
    于是
    $x =& $y;
    就是
    global $a;
    $a =& $y;
    希望你能理解这一点手册中有:如果在一个函数内部给一个声明为 global 的变量赋于一个引用,该引用只在函数内部可见。我就不再说什么了