最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
PHP Global变量定义一些用法详解
时间:2022-06-24 21:31:55 编辑:袖梨 来源:一聚教程网
例
| 代码如下 | 复制代码 | 
| 
 
$a = 1;   | 
	  |
结果: 3 
如果没有全局变量global在方法内是不能获得$a,$b值的,所以在方法里面想用外面的变量就需要先声明这个变量为全局变量,这样就可以使用了
总结:在函数体内定义的PHP Global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,
$glpbal $a; $a=123; function f() { echo $a; //错误, }
再看看下面一例
| 代码如下 | 复制代码 | 
| 
 function f()   | 
	  |
在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内(包括include 和 require 导入的文件内的变量)!
解释:A.php文件的内Test_Global是定义好的第三方函数,该函数用include导入了B.php文件内的$a的global全局变量,所以$a被限制在Test_Global局部函数范围内,所以B.php文件内的$a的作用范围都在Test_Global内,而不是作用了整个A.php内….
解决方案:
1. 冲出局部函数
 //A.php 文件
| 代码如下 | 复制代码 | 
| 
 
function Test_Global()  | 
	  |
2.优秀的访问器
| 代码如下 | 复制代码 | 
| 
 //A.php 文件  | 
	  |
再来看看$GLOBALS[]
| 代码如下 | 复制代码 | 
| 
 
 $var3 = 1;    | 
	  |
//2 为什么$var2的打印结果是1,而$var4的打印结果为2呢?其实就是因为$var3的引用指向了$var4的引用地址。$var4的实际值并没有改变。官方的解释是:$GLOBALS['var']是外部的全局变量本身,global $var是外部$var的同名引用或者指针。
也许这个例子还不是很清晰,我再引入一个例子:
| 代码如下 | 复制代码 | 
| 
 
 $var2 = 1;    | 
	  |
echo $var2; //1 $var1的值被删除,而$var2的值还存在。这就证明,$var2只是别名引用,本身的值没有受到任何的改变。也就是说global $var其实就是$var = &$GLOBALS['var'],调用外部变量的一个别名而已!
相关文章
- 原神幽境危战霜役人打法教学 11-04
 - 超自然行动组最新小抄分享 2025实用攻略技巧汇总 11-04
 - 王者荣耀西施奖励网站在哪进 西施奖励最新网页在线入口 11-04
 - 超自然行动组可用的兑换码有哪些 2025最新有效兑换码领取 11-04
 - 超自然行动组官网入口是什么 超自然官网网页在线充值入口 11-04
 - 我的世界物品怎么一键丢弃 mc快捷键使用指南 11-04