问答详情
源自:2-1 递归无限分类原理

为什么要用&?求帮助

<?php 
function deeploop($i=1){
	echo $i;
	$i++;
	if($i<10){
		deeploop($i);
	}
}
deeploop();
?>

不用&也行,为什么要用&

提问者:文翰弟 2015-04-12 17:25

个回答

  • 慕桂英7681481
    2020-05-06 09:25:39

    php 最新的不用了

  • 文翰弟
    2016-11-17 09:19:04

    。。。忽然看到这个,现已做专职前端1年半了。

  • 薛定谔的猫__
    2016-11-06 18:39:33

    <?php 

    function deeploop($i=1){

        echo $i;

        $i++;

        if($i<10){

            deeploop($i);

        }

    }

    $j=2;

    deeploop($j);

    echo "<hr/>";

    echo $j;

    &是传引用

    如上,如果加& echo $i 结果是10,不加 echo $i 结果是2,

    即传引用时 $j与$i指向同一个地址 所以 $i改变就是$j改变,

    不加&时$j传入deeploop()后 $i拷贝了一份$j,所以他们指向不同的地址,$i改变不会影响$j;

    传引用的好处是当传入的参数是大型对象时,避免了因为拷贝而占用大量的内存


  • jack1018
    2015-04-13 08:26:03

    &的是用引用