• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-24) 19次浏览 已收录 0个评论

关于全局变量global理解和疑惑?
php刚刚起步,对global产生了疑问,然后自己试验了下:

function test()<br />{<br />	global $a;<br />	$a=10;<br />	global $b;<br />    $b=$a+10;   <br />}<br />test();<br />echo $a."<br>";<br />echo $b."<br>";<br />?>

恩,效果很好,果然输出10 20.
然后我又这样写了下:

<?php<br />function test()<br />{<br />    $a=10;<br />    global $a;<br />    $b=$a+10;<br />    global $b;   <br />}<br />test();<br />echo $a."<br>";<br />echo $b."<br>";<br />?>

这次就蛋疼了,为什么不报错也不¥本文来源gaodai#ma#com搞@@代~&码网^搞gaodaima代码提示,而是输出的是空白呢?
既然上全局变量,整个php文件都能用吧,我又进行了下面的测试:

global $c;<br />$c=7;<br />function test()<br />{<br />    echo $c;   <br />}<br />test();<br />

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

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

函数中
function test()
{
global $a;
//使用$a;
}
——解决方案——————–
第一个例子,你是先定义全局变量,然后使用全局变量。
第二个例子,你是先定义本地变量,然后再定义全局变量。但是你赋值的时候是使用本地变量,所以出现了你所见到的问题。
——解决方案——————–

<?php<br />function test()<br />{<br />    $a=10;      // 这个是局部变量以下同样<br />    global $a;  // 这里声明了全局变量,以后出现的$a就是全局变量$a了<br />                   // 在函数中使用全局变量都需要这样先声明一下否则默认为局部变量<br />    $b=$a+10;<br />    global $b;   <br />}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于全局变量global懂得和疑惑
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址