扫码关注官方订阅号
$input = $_GET;$input = & $_GET;请问一下,以上两者的本质区别到底是什么??请大神们详细点解释,小白谢过各位大神了
认证0级讲师
<?phpecho "<pre>n";$arr = Array("Arr1","Arr2");
foreach($arr as $array){ $array = "3" ;}
print_r( $arr );
echo "n上面的说明 $array 是用 值传递 , 修改 $array 并没有造成原数组的变化 n";
foreach($arr as &$array){ $array = "3" ;} print_r( $arr );
echo "n上面的说明 $array 是用 引用传递(传递的是变量的地址) , 修改 $array 造成原数组的变化 n";
echo "n这就是区别,你可以关注下 php参数传递方式n";?>
第一个是按值传递,相当于是把$_GET的值赋给了$input,$input会重新分配内存地址,后续操作$input不会影响$_GET。第二个是引用传递,相当于是把$_GET所指向的内存地址赋给了$input,$input和$_GET指向同一地址,后续改变$input也就相当于改变了$_GET。
第一个是按值传递 第二个是引用传递
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
<?php
echo "<pre>n";
$arr = Array("Arr1","Arr2");
foreach($arr as $array){
$array = "3" ;
}
print_r( $arr );
echo "n上面的说明 $array 是用 值传递 , 修改 $array 并没有造成原数组的变化 n";
foreach($arr as &$array){
$array = "3" ;
}
print_r( $arr );
echo "n上面的说明 $array 是用 引用传递(传递的是变量的地址) , 修改 $array 造成原数组的变化 n";
echo "n这就是区别,你可以关注下 php参数传递方式n";
?>
第一个是按值传递,相当于是把$_GET的值赋给了$input,$input会重新分配内存地址,后续操作$input不会影响$_GET。
第二个是引用传递,相当于是把$_GET所指向的内存地址赋给了$input,$input和$_GET指向同一地址,后续改变$input也就相当于改变了$_GET。
第一个是按值传递 第二个是引用传递