function bbb() 

 global $aaa; 
 $aaa=8; 

global用来声明是全局变量,不加就是局部变量,只在函数内部有效.

解决方案 »

  1.   

    可以这样使用,但最好不要用,这样是不安全的作法.$GLOBALS['aaaa'] = 222;
    function test()
    {
    $GLOBALS['aaaa'] = 333;
    }
    test();
    echo $GLOBALS['aaaa']; //333
      

  2.   

    那$GLOBALS['aaa']=3是什么意思,不是将$aaa设为全局变量吗?既然叫全局变量了为什么还要在函数里global $aaa;
      

  3.   

    我试了一下这样确实可以的。
    <?php
    $GLOBALS['aaa']=3;
    function bbb()
    {
    $GLOBALS['aaa']=8;
    }
    bbb();
    echo $aaa;
    ?>但是在函数中还是要用$GLOBALS来访问变量。
      

  4.   

    $GLOBALS['aaa']=3
    只是在$GLOBALS这个全局变量数组里增加一个索引为aaa的值而矣,这样你就可以在当前文件的任意地方调用,而不用global声明.
    $GLOBALS是超级全局变量.
      

  5.   

    其实还不是很明白,
    $GLOBALS['aaa']=3;之后
    echo $aaa//=3;
    那实际上$GLOBALS['aaa']和$aaa是不是就是等同的关系?
      

  6.   

    function bbb() 

      $aaa=8; 

    $aaa是局部变量,它的生命周期是在函数内部,所以不会影响外面的值.明白??
      

  7.   

    $GLOBALS['aaa']=3; 不代表$aaa是全局变量
      

  8.   

    你好,我感觉你在外面用globals声明全局变量,成立了,但是函数里面你又声明了一个局部的$aaa,所以当你输出的时候,输出的是全局的$aaa,你函数里面的赋值,是给局部变量赋值呢,而不是给全局变量,明白吗?