php定义全局变量:

函数外定义的变量都是全局变量。

但是全局变量不能直接使用,为什么不能直接使用,大概是因为同名覆盖的原因,如下:

情况一:

$a = 123;

function f()

{

    echo $a

}

执行结果:

Notice: Undefined variable: a

变量只能在他的作用域范围内 直接使用:

情况二:

<?php

$a = 123;

echo $a;

?>

执行结果:

123

再看以下情况:

情况三:

function fun() {         

     $b = 345;         

     if(1==1)        

     {        

         echo $b;    

      }

}

这个情况合法。 $b在if作用域内有效。

情况四:

$a = 123;

function f()

{

    global $a;

    echo $a

}

输出:123

 

现在可以吧PHP变量分为两种:

{}内变量

{}外变量

其中{}外变量是全局变量

{}外变量在{}外可以随意使用,

但在{}内必须用 global 引用。

另外:

1. global $变量名;

2. globals["变量名"];

1为全局变量副本,2为全局变量本身. 一个类似赋值,一个类似指针。