一个关于引用的问题,求大家帮忙答疑!谢谢
<br /><?php <br />function demo(&$a, &$b) { $a =& $b; } <br />$a = 1; <br />$b = 2; <br />demo($a, $b); <br />$b = 3; <br />print $a; <br />?> <br />详细出处参考:http://www.jb51.net/article/22508.htm
在看一片关于引用的文章时看到的,
作者说结果是2,
我觉得结果是3,
运行后结果居然是1.
初学php,对它的引用传参不太理解啊,,,,,,
------解决方案--------------------为了便于描述,改了一下形参名
function demo(&$x, &$y) {<br /> $x =& $y;<br />} <br />$a = 1; <br />$b = 2; <br />demo($a, $b); <br />print $a;
&$x 是 global $a 的另一种表现形式
于是
$x =& $y;
就是
global $a;
$a =& $y;
希望你能理解这一点手册中有:
如果在一个函数内部给一个声明为 global 的变量赋于一个引用,该引用只在函数内部可见。我就不再说什么了
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn