function f2() {
$GLOBALS["v3"] = &$GLOBALS["v1"];
echo 'f2函数里:'."<br/>v1:".$v1."<br/>v3:".$v3;
}
$v1 = 5;
$v2 = $v3 = 0;
f2();echo "<br/><br/>f2函数之后:<br/>";
echo "v1: ".$v1."<br/>";
echo "v3: ".$v3."<br/>";
输出:f2函数里:
v1:
v3:f2函数之后:
v1: 5
v3: 5
为什么在f2()的函数里,输出是没值的?

解决方案 »

  1.   

    php从上到下执行的    echo 'f2函数里:'."<br/>v1:".$v1."<br/>v3:".$v3;这个上面并没有$v1、$v3所以不能输出,其实已经出现notice了
      

  2.   

    这样呢?
    <?php
    function f2() {
         GLOBAL $v3;
         GLOBAL $v1;
     $v1=&$v3;
         echo 'f2函数里:'."<br/>v1:".$v1."<br/>v3:".$v3;
    }
    $v1 = 5;
    $v2 = $v3 = 0;
    f2();echo "<br/><br/>f2函数之后:<br/>";
    echo "v1: ".$v1."<br/>";
    echo "v3: ".$v3."<br/>";?>
      

  3.   


    原因是这个。在这个函数里,没有这个变量。
    可以这样:function f2() {
    $GLOBALS["v3"] = &$GLOBALS["v1"];
    $v1 = $GLOBALS["v1"];
    $v3 = $GLOBALS["v3"];
    echo 'f2函数里:'."<br/>v1:".$v1."<br/>v3:".$v3;
    }
      

  4.   

    哈,回答完之后才发现楼主问的不是这个问题。sorry......