欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于全局变量global懂得和疑惑

程序员文章站 2022-06-17 16:22:24
...
关于全局变量global理解和疑惑?
php刚刚起步,对global产生了疑问,然后自己试验了下:
function test()
{
global $a;
$a=10;
global $b;
$b=$a+10;
}
test();
echo $a."
";
echo $b."
";
?>

恩,效果很好,果然输出10 20.
然后我又这样写了下:
function test()
{
$a=10;
global $a;
$b=$a+10;
global $b;
}
test();
echo $a."
";
echo $b."
";
?>

这次就蛋疼了,为什么不报错也不提示,而是输出的是空白呢?
既然上全局变量,整个php文件都能用吧,我又进行了下面的测试:
global $c;
$c=7;
function test()
{
echo $c;
}
test();

然后提示,未定义变量.
是不是,定义了全局变量也不能在函数里面用?要想将值传给函数,只能通过参数的方式呢?
------解决方案--------------------
声明在前,使用在后
这是普遍的原则

global 是在函数中声明全局变量用的
------解决方案--------------------
先定义变量 $a='aaa';

函数中
function test()
{
global $a;
//使用$a;
}
------解决方案--------------------
第一个例子,你是先定义全局变量,然后使用全局变量。
第二个例子,你是先定义本地变量,然后再定义全局变量。但是你赋值的时候是使用本地变量,所以出现了你所见到的问题。
------解决方案--------------------
function test()
{
$a=10; // 这个是局部变量以下同样
global $a; // 这里声明了全局变量,以后出现的$a就是全局变量$a了
// 在函数中使用全局变量都需要这样先声明一下否则默认为局部变量
$b=$a+10;
global $b;
}
关于全局变量global懂得和疑惑

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频