php global 的用法

今天在研究dedecms的时候,看到在很多函数内有调用全局变量的地方,就仔细研究了下 global的用法。

php:global变量解析1:Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。

$a=123;
function aa()
{
Global $a;   //如果不把$a定义为global变量,函数体内是不能访问$a的
echo $a;
}
aa();
总结:在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,
$global $a;
$a=123;
function f()
{
echo $a;    //错误
}
//再看看下面一例
function f()
{
global $a;
$a=123;
}
f();
echo $a;   //正确,可以使用
2:global问题解析
question:我在config.inc.php中定义了一些变量($a),在别的文件中函数外部 include(“config.inc.php”),函数内部需要使用这些变量$a,如果没有声明的话,echo $a是打印不出来任何东西的。因此声明global $a,但是有很多函数和很多变量,总不能不断重复的这样声明吧?有什么好的解决办法,请指点。
answer1:先在config.inc.php里定义常量:define(常量名,常量值)
再在其他需要用到的地方require ‘config.inc.php’,
然后就能在这个文件里直接使用这个常量了。
answer2:我也有个办法,就是定义数组,如$x[a],$x,那样就只要声明global $x一个了。
answer3:我试了你的这个方法,不行啊。
answer4:改你的php.ini文件。
设置global 为 on

你可能感兴趣的:(php)