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为全局变量本身. 一个类似赋值,一个类似指针。