background image

php

       中

   

    global

 

     与

   $GLOBAL

 

     的用法与区别

 

 

一、global 变量解析
1:Global 的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当
前页面,包括 include 或 require 的所有文件。
$a=123;
function aa()
{
Global $a;   //如果不把$a 定义为 global 变量,函数体内是不能访问$a 的
echo $a;
}
aa();
总结:在函数体内定义的 global 变量,函数体外可以使用,在函数体外定义的 global 变量不能
在函数体内使用,
$glpbal $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:改你的 php.ini 文件,设置 global 

 

为 on

二、$GLOBALS
引用 PHP 手册的$GLOBALS

 

的解释 :Global 变量:$GLOBALS

注意: $GLOBALS   

在 PHP  3.0.0 及以后版本中实用。

三、实例说明 global 与$GLOBAL 的用法区别