background image

PHP 的全局变量和 C 语言有一点点不同,在 C 语言中,全局变量在函数中自动生效,除非
被局部变量覆盖
-
这可能引起一些问题,有些人可能漫不经心的改变一个全局变量。

PHP 中全局变量在函数

中使用时必须申明为全局

(注意,Global 这个关键字在函数中定义才有用)。 

1:Global 的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前
页面

,包括 include 或 require 的所有文件。 

复制代码

 代码如下:

<?PHP 
$a=123; 
function aa() 

Global $a; //如果不把$a 定义为 global 变量,函数体内是不能访问函数体外部的$a 的,但是可
以定义一个相同的名字

$a,此时这个变量是局部变量,等同于 C 语言的局部变量,只能在函

数体内部使用。

 

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,但是有很多函数和很多变量,总不能不断重复的