
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.