欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

看别人的PHP代码有一点不明白

程序员文章站 2022-04-18 14:18:59
...
foreach ($data as &$e) {}
和
foreach ($data as $e) {}

有什么区别?

回复内容:

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