新人求教,这个引用赋值是怎么完成的而且这东西有什么用啊?用在啥场景中?

$data = array('a', 'b', 'c');

foreach($data as $key=>$val) {
       
    $val = &$data[$key];   
    
   
}

var_dump($data);

阅读 2.6k
1 个回答

电脑开机后,你在显示屏看到的所有东西,都存在内存中

内存,具体是个什么结构,有兴趣可以去了解下;
它每个单位就是好像一个邮箱,是个邮箱都有它的地址,这个不难理解吧。

$data = array('a', 'b', 'c');

foreach($data as $key=>$val) {

    $val = &$data[$key];
}

上面这段代码逻辑是,已知$data数组有三个元素,把$data数组里最后一个元素的地址,放到$val这个邮箱中。
这时我们可以对$val进行赋值操作,间接的可以影响到$data数组的最后一个元素

$val = '间接影响';
print $data[2];

具体用什么场景,只能和你说,当需要间接影响到某个东西的时候使用引用赋值。

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