functionfoo(&$c){global$b;$b=3;//$c=&$b;//echo$c;//输出232$c=$b;echo$c;//输出233}$a=2;echo$a.'';foo($a);echo$a;?>上面是我自己运行的结果。手册上是这么说的,不知道说的是什么:引用不是什么如前所述,引用不是指针。这意味着下面的结构不会产生你预期的效果:functionfoo(&$var){$var=&$GLOBALS["baz"];}foo($bar);?>这将使foo函数中的$var变量在函数调用时和$bar绑定在一起,但接着又被重新绑定到了$GLOBALS["baz"]上面。不可能通过引用机制将$bar在函数调用范围内绑定到别的变量上面,因为在函数foo中并没有变量$bar(它被表示为$var,但是$var只有变量内容而没有调用符号表中的名字到值的绑定)。自己的理解是$c已经是一个引用了,PHP不允许再给它赋上另一个引用。如果再给它赋上另一个引用,那么这个引用$c就跟$a变量自动断开联系,所以输出了两个2。不知道这样理解对不对
潇湘沐
慕娘9325324
莫回无
随时随地看视频慕课网APP
相关分类