PHP Global定义全局变量使用说明

2015-01-24信息快讯网

Global是php中一个比较特殊的命令,大家直接叫他超级全局变量了,下面我来介绍我今天在使用Global定义全局学习笔记了

很不习惯PHP中的变量作用域,PHP中函数变量和全局是完全隔绝的,也就是无法相互访问。
比如下面这样:
$test = 123;
 abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
    echo($test);
}$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
    echo($test);
}

如果,你想在函数内部访问外部变量,你需要这样:
$test = 123;
 abc(); //输出123
function abc(){
    global $test;
    echo($test);
}$test = 123;
abc(); //输出123
function abc(){
    global $test;
    echo($test);
}

但如果我们在函数中定义全局变量呢,像下面这样:
function abc(){
    global $test;
    $test = 123;
}
abc();
echo($test); //输出123function abc(){
 global $test;
 $test = 123;
}
abc();
echo($test);

//输出123通过这种方式,我们可以在外部访问到函数内部定义的变量
在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内(包括include 和 require 导入的文件内的变量)!
解释:A.php文件的内Test_Global是定义好的第三方函数,该函数用include导入了B.php文件内的$a的global全局变量,所以$a被限制在Test_Global局部函数范围内,所以B.php文件内的$a的作用范围都在Test_Global内,而不是作用了整个A.php内….
解决方案:
1. 冲出局部函数
 //A.php 文件
<?php
function Test_Global()
{  
    Test();  
}  
include 'B.php';   //将include 从局部Test_Global函数中移出
$a = 0 ;
Test_Global();
echo $a;
?> 
//B.php 文件
<?php
function Test()
{
    global $a;
    $a =1;
}
?>

2.优秀的访问器
//A.php 文件
<?php
include 'B.php'; 
$a =0;
Set_Global($a);
echo $a;
?> 
//B.php 文件
<?php
function Set_Global(&$var)
{
    $var=1;
}
?>
php 解压rar文件及zip文件的方法
php中session过期时间设置及session回收机制介绍
使用php语句将数据库*.sql文件导入数据库
PHP判断是否有Get参数的方法
php快递单号查询接口使用示例
PHP生成自定义长度随机字符串的函数分享
smarty模板中使用get、post、request、cookies、session变量的方法
php自定义session示例分享
PHP二维数组排序的3种方法和自定义函数分享
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
php使用json_encode对变量json编码
php定义数组和使用示例(php数组的定义方法)
php中的静态变量的基本用法
PHP的变量类型和作用域详解
PHP static局部静态变量和全局静态变量总结
分享下PHP register_globals 值为on与off的理解
php漏洞之跨网站请求伪造与防止伪造方法
php生成图形验证码几种方法小结
PHP中将ip地址转成十进制数的两种实用方法
PHP怎么实现网站保存快捷方式方便用户随时浏览
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
php使用sql数据库 获取字段问题介绍
浅析php中常量,变量的作用域和生存周期
浅析PHP原理之变量(Variables inside PHP)
浅析PHP原理之变量分离/引用(Variables Separation)
浅析php变量作用域的一些问题
解析php中如何调用用户自定义函数
PHP与javascript实现变量交互的示例代码
实测在class的function中include的文件中非php的global全局环境
解析在PHP中使用全局变量的几种方法
解析CodeIgniter自定义配置文件
php unset全局变量运用问题的深入解析
定义php常量的详解
PHP自定义大小验证码的方法详解
php全局变量和类配合使用深刻理解
php数组声明、遍历、数组全局变量使用小结
PHP Global变量定义当前页面的全局变量实现探讨
©2014-2024 dbsqp.com