谈一谈$GLOBALS和global的差别
来源:互联网 发布:网络电视全民k歌 编辑:程序博客网 时间:2024/05/21 11:01
指的的是PHP当前页面的全局变量$key = value的引用,此值可以在PHP流程的任意地方改变,改变的是该全局变量,真正的全局引用。
golbal $key = value;一般用在函数内部,意思是申明变量$key,该变量是由全局变量$key复制而来(继承了全局变量$key),复制的变量只在函数内部有效。一旦在函数中global了某个外部变量后,这个变量就可以在这个函数中使用了
$GLOBALS:
b();
function b(){
a();
echo $a;//$a未定义
var_dump($GLOBALS);// 999
$GLOBALS['key'] = 888;
}
function a(){
$GLOBALS['key'] = 999;
$a = 4;
}
var_dump($GLOBALS);// 888
echo $a;//$a未定义
结果:
golbal:
$a = 'php';
function c(){
global $ac;
echo $ac,'--';
global $a;//从这个例子看出global了一个变量就等于传递了一个引用进来,其实就是就是外部变量的同名引用
echo $a;
}
c();
结果:
function d(){
$d = 23;//没有global进行修饰,函数外部不能调用否则会报错
}
d();
echo $d;
结果:
function d(){
global $d;//这样的声明使得$d变成全局变量,函数外部可以调用了$d
$d = 23;
}
d();
echo $d;
结果:
$e = 'PHP';
function e(){
global $e;//就是外部变量的同名引用,变量本身的作用范围仍然在函数体内。
$e = 'JavaScript';//改变这些变量的值,外部的同名变量自然也改变。
}
e();
echo $e;
结果:
$f1 = 1;
$f2 = 2;
function f()
{
global $f1,$f2;
$f1 = $f2;//但一旦用了&,那么变量将不再是同名引用。此时函数内的变量的变化对函数外部的变量并无影响
}
f();
echo $f1;
结果:
$g1 = 1;
$g2 = 2;
function g()
{
global $g1,$g2;
$g1 = &$g2;//但一旦用了&,那么变量将不再是同名引用。此时函数内的变量的变化对函数外部的变量并无影响
}
g();
echo $g1;
结果:
$h1 = 1;
$h2 = 2;
function h()
{
global $h1,$h2;
$h1=&$h2;
$h1=7;
}
h();
echo $h1,'-';//因为内部应用了&,就不是同名引用了,所以尽管$h1被赋值7,但外面的$h1还是原来的1
echo $h2;//因为在函数内的$h1与$h2具有相同的引用。因此改变了$h1的值,$h2的值也做了改变。
结果:
参看文章:http://www.thinkphp.cn/code/1018.html
- 谈一谈$GLOBALS和global的差别
- global和$GLOBALS[]的区别
- 关于 PHP 的 global 和 $GLOBALS
- PHP中global和$GLOBALS[]的区别
- global和$GLOBALS[]的分析之一
- PHP中global和$GLOBALS[]的区别
- php中$GLOBALS和global的区别
- php中global和$GLOBALS[]的分析
- php中global和$GLOBALS 的区别
- PHP中$GLOBALS和global的区别
- Global和$GLOBALS 数组的例子
- php中global和$GLOBALS[]的区别
- global和$GLOBALS区别
- global和$GLOBALS
- 小猪戏说PHP语言中global和$GLOBALS[]的区别
- PHP语言中global和$GLOBALS[]的分析
- PHP语言中global和$GLOBALS[]的分析
- PHP中全局变量的使用global和$GLOBALS[]
- 写给大数据开发初学者的话5
- ORACLE 性能优化-手工修改统计信息(不得已为之)详解
- 进程组-作业-会话
- bat脚本批量静默安装程序
- 守护进程
- 谈一谈$GLOBALS和global的差别
- 正确设置了charles,使用charles抓包某些app,无法抓到的原因(Android手机)
- 其他
- 你的企业是否需要首席数字官?
- Android style(样式), theme(主题)资源
- japan
- 1066. 图像过滤(15) PAT
- Java SocketIO网络编程
- 【BZOJ3112】防守战线(ZJOI2013)-单纯形法+对偶理论