标题: 变量引用问题
flynetcn
新手上路
Rank: 1



UID 417
精华 0
积分 0
帖子 23
翻译 0
原创 0
阅读权限 10
注册 2007-10-8
状态 离线
发表于 2007-10-24 19:42  资料  短消息  加为好友 
变量引用问题

<?
$id = 'value';
function prin(&$a)
{
    global $b;
    $a = $a.'--';
    $b = &$a;
    $b = $b.'**';
}
prin($id);
print $b;
echo '-------------<br>';
echo $id;
?>
------------------------------------

输出:
-------------
value--**
-------------------------------------
为什末print $b;没有输出内容?

顶部
flynetcn
新手上路
Rank: 1



UID 417
精华 0
积分 0
帖子 23
翻译 0
原创 0
阅读权限 10
注册 2007-10-8
状态 离线
发表于 2007-10-25 10:00  资料  短消息  加为好友 
问题的关键就是global关键字的作用
有谁知道,global 在底层的实现?

顶部
samoay
新手上路
Rank: 1



UID 420
精华 0
积分 0
帖子 14
翻译 0
原创 0
阅读权限 10
注册 2007-10-9
状态 离线
发表于 2007-10-25 16:58  资料  短消息  加为好友 
<?
$id = 'value';
function prin(&$a)
{
    $a = $a.'--';
    $GLOBALS['b'] = &$a;
    $GLOBALS['b'] = $GLOBALS['b'].'**';
}
prin($id);
print $b;
echo '<br>-------------<br>';
echo $id;
?>
这样行,像上面经过引用赋值的,就不清楚了

[ 本帖最后由 samoay 于 2007-10-25 17:02 编辑 ]

顶部
flynetcn
新手上路
Rank: 1



UID 417
精华 0
积分 0
帖子 23
翻译 0
原创 0
阅读权限 10
注册 2007-10-8
状态 离线
发表于 2007-10-26 09:00  资料  短消息  加为好友 
手册上也说那样不行,没说为什末,知其然不知其所以然。

顶部
Verdana
新手上路
Rank: 1



UID 39
精华 1
积分 10
帖子 18
翻译 0
原创 0
阅读权限 10
注册 2007-5-23
状态 离线
发表于 2007-11-9 02:28  资料  主页 短消息  加为好友 
建立引用指向同名的全局变量...





顶部
 


PHPEye开源社区


当前时区 GMT+8, 现在时间是 2008-9-5 22:44

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.011177 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - PHPEye开源社区 - Archiver