扫码关注官方订阅号
foreach ($data as &$e) {} 和 foreach ($data as $e) {} 有什么区别?
$data = [1,2,3]; foreach($data as &$e){ $e+=1; } var_dump($data);//[2,3,4] unset($e); $data = [1,2,3]; foreach($data as $e){ $e+=1; } var_dump($data);//[1,2,3]
楼上很清晰,再给两个链接:
http://php.net/manual/en/control-structures.foreach.php
http://php.net/manual/en/language.references.php
一个是引用,作用于原值本身;一个是使用,不会更改原值。
不加&的话,就相当于内部复制了一个变量去使用,不会修改原本的值,地址也不会有改变。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
楼上很清晰,再给两个链接:
http://php.net/manual/en/control-structures.foreach.php
http://php.net/manual/en/language.references.php
一个是引用,作用于原值本身;一个是使用,不会更改原值。
不加&的话,就相当于内部复制了一个变量去使用,不会修改原本的值,地址也不会有改变。