关于TP框架中I()方法的源码问题?

$input = $_GET;
$input = & $_GET;
请问一下,以上两者的本质区别到底是什么??请大神们详细点解释,小白谢过各位大神了

阅读 2.8k
3 个回答

<?php
echo "<pre>n";
$arr = Array("Arr1","Arr2");

foreach($arr as $array){
$array = "3" ;
}

print_r( $arr );

echo "n上面的说明 &dollar;array 是用 值传递 , 修改 &dollar;array 并没有造成原数组的变化 n";

foreach($arr as &$array){
$array = "3" ;
}
print_r( $arr );

echo "n上面的说明 &dollar;array 是用 引用传递(传递的是变量的地址) , 修改 &dollar;array 造成原数组的变化 n";

echo "n这就是区别,你可以关注下 php参数传递方式n";
?>

第一个是按值传递,相当于是把$_GET的值赋给了$input,$input会重新分配内存地址,后续操作$input不会影响$_GET。
第二个是引用传递,相当于是把$_GET所指向的内存地址赋给了$input,$input和$_GET指向同一地址,后续改变$input也就相当于改变了$_GET。

第一个是按值传递 第二个是引用传递

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题