<?php function demo(&$a, &$b) { $a =& $b; } $a = 1; $b = 2; demo($a, $b); $b = 3; print $a; ?> 详细出处参考:http://www.jb51.net/article/22508.htm
在看一片关于引用的文章时看到的,
作者说结果是2,
我觉得结果是3,
运行后结果居然是1.
初学php,对它的引用传参不太理解啊,,,,,,
回复讨论(解决方案)
请问你有什么问题吗?
说出来你的问题。
要不然怎么回答你呢?
function demo(&$a, &$b) { $a = $b; } 这个运行才是2
为了便于描述,改了一下形参名
function demo(&$x, &$y) { $x =& $y;} $a = 1; $b = 2; demo($a, $b); print $a;
&$x 是 global $a 的另一种表现形式
于是
$x =& $y;
就是
global $a;
$a =& $y;
希望你能理解这一点
手册中有:
如果在一个函数内部给一个声明为 global 的变量赋于一个引用,该引用只在函数内部可见。 我就不再说什么了
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn