php - 关于TP框架中I()方法的源码问题?
PHP中文网
PHP中文网 2017-04-10 17:32:45
[PHP讨论组]

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

PHP中文网
PHP中文网

认证0级讲师

全部回复(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。

黄舟

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号