PHPEye开源社区 » PHP技术讨论区 » 变量引用问题
《Programming PHP》第二版上市
2007-10-24 19:42 flynetcn
变量引用问题

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

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

2007-10-25 10:00 flynetcn
问题的关键就是global关键字的作用
有谁知道,global 在底层的实现?

2007-10-25 16:58 samoay
<?
$id = 'value';
function prin(&$a)
{
    $a = $a.'--';
    $GLOBALS['b'] = &$a;
    $GLOBALS['b'] = $GLOBALS['b'].'**';
}
prin($id);
print $b;
echo '<br>-------------<br>';
echo $id;
?>
这样行,像上面经过引用赋值的,就不清楚了

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

2007-10-26 09:00 flynetcn
手册上也说那样不行,没说为什末,知其然不知其所以然。

2007-11-9 02:28 Verdana
建立引用指向同名的全局变量...

页: [1]
查看完整版本: 变量引用问题


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.