$data = array('a', 'b', 'c');
<code>foreach($data as $key=>$val) { $val = &$data[$key]; }</code>
var_dump($data);
$data = array('a', 'b', 'c');
<code>foreach($data as $key=>$val) { $val = &$data[$key]; }</code>
var_dump($data);
内存,具体是个什么结构,有兴趣可以去了解下;
它每个单位就是好像一个邮箱,是个邮箱都有它的地址,这个不难理解吧。
<code>$data = array('a', 'b', 'c'); foreach($data as $key=>$val) { $val = &$data[$key]; }</code>
上面这段代码逻辑是,已知$data数组有三个元素,把$data数组里最后一个元素的地址,放到$val这个邮箱中。
这时我们可以对$val进行赋值操作,间接的可以影响到$data数组的最后一个元素
<code>$val = '间接影响'; print $data[2]; </code>
具体用什么场景,只能和你说,当需要间接影响到某个东西的时候使用引用赋值。