请教大家个问题关于global

wz20001981 2011-12-18 09:33:02
这两段代码运行结果为啥不一样那,还有请教global原理。


global $var1,$var2;
$var1 = 1;
$var2 = 2;
function test(){
$var2 = &$var1;
}
test();
echo $var2;



global $var1,$var2;
$var1 = 1;
$var2 = 2;
$var2 = &$var1;
echo $var2;
...全文
139 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloyou0 2011-12-20
  • 打赏
  • 举报
回复
嘿嘿
<?php 
global $var1,$var2;
$var1 = 1;
$var2 = 2;
function test(){
global $var1,$var2;
$var2 = &$var1;
echo $var2;
}
test();
echo $var2;


网上看到这句话,应该是对的:
global $var; is equivalent to $var =& $GLOBALS['var'].
jaksmine 2011-12-20
  • 打赏
  • 举报
回复
global要放到函数里面。。。
xiachao2008 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ci1699 的回复:]

第二个好理解吧。
第一个。要在test里global ——————这个也是错的
[/Quote]
ci1699 2011-12-19
  • 打赏
  • 举报
回复
第二个好理解吧。
第一个。要在test里global
xiachao2008 2011-12-19
  • 打赏
  • 举报
回复




global $var1,$var2;
$var1 = 1;
$var2 = 2;
function test($var1,$var2){
$var2 = &$var1;
echo $var2;
}
test();

这样改也是错的。


xiachao2008 2011-12-19
  • 打赏
  • 举报
回复
我这样改 没有想到是错的



global $var1,$var2;
$var1 = 1;
$var2 = 2;
function test(){
$var2 = &$var1;
echo $var2;
}
test();


xiachao2008 2011-12-19
  • 打赏
  • 举报
回复
关注,我也不明白
wz20001981 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ci1699 的回复:]

第二个好理解吧。
第一个。要在test里global
[/Quote]

错了 global在哪都是一个结果
Abin-2008 2011-12-19
  • 打赏
  • 举报
回复

$var1 = 1;
$var2 = 2;
function test(){
global $var1,$var2;
$var2 = $var1;
echo $var2;
}
test();
kuohaoling 2011-12-19
  • 打赏
  • 举报
回复
第一里面 var2是新的局部变量 跟外面的var2不是一个
liveshow 2011-12-18
  • 打赏
  • 举报
回复
第二个就不说了。

第一个方法里面没引入global,如果你想echo $var2;的时候输出1,得把方法里赋值的&去掉

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧