PHP 引用变量加unset的问题

2025-06-20 20:13:38
推荐回答(3个)
回答1:

  其实很简单

  注意你的两个get_arr()操作语句

get_arr(&$arr1);
get_arr($arr2);

  第一个get_arr()使用到了取引用符&,并且将$arr1传入。这样子,传入了$arr1的引用,在get_arr()内部相当于直接操作了$arr1数组,而该数组删除了数组首位的值,所以长度只有1。


  而第二个get_arr()并没有使用引用,当你将$arr2传入时,相当于将$arr2复制了一份传入,get_arr()函数处理的只是$arr2的拷贝,所以他只是删除了$arr2拷贝的首位值,对$arr2本身没有影响

回答2:

嗯,是的,一个是复制一份,一个是其别名的

回答3:

你要理解变量引用,局部变量,全局变量的概念