>  기사  >  백엔드 개발  >  一个关于引用的问题,求大家帮忙答疑!谢谢

一个关于引用的问题,求大家帮忙答疑!谢谢

WBOY
WBOY원래의
2016-06-23 13:57:33711검색

<?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 的变量赋于一个引用,该引用只在函数内部可见。

我就不再说什么了

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.