在线时间:8:00-16:00
132-9538-2358
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么? 代码如下: <?php $arr = array('one','two','three'); foreach ($arr as &$value){ echo 'Value:'.$value.'<br />'; } foreach ($arr as $value){ echo 'Value:'.$value.'<br />'; } ?>输出结果: Value:one Value:two Value:three Value:one Value:two Value:two
第一次带&的foreach并没有改变数组的内容。。而是最后一次循环$value引用了数组的最后一个项 (可以测试一下,在第一次循环结束后unset($value),第二次循环的结果就不会有变化),在你第二个foreach也是使用的$value变量,这才造成了怪异的问题(可以换个变量,比如$val,输出的数组就不会有变化)。第二个foreach是赋值给$value,但是这时的$value是引用的数组的最后一个值,所以第一次循环把one赋值给了最后一个值,第二次把two赋值给最后一个,第三次也就是最后一个已经在第二次循环被赋值为two,所以仍然是two。
评论
2022-08-19
2022-07-30
2022-08-17
2022-11-06
Shinmera/tooter: A Common Lisp client library for Mastodon instances.
中文大写金额数字前应标明人民币字样,大写金额数字应紧接人民币字样填写,不得留有空
级的笔顺是什么?级的笔顺笔画顺序怎么写?还有级的拼音及意思是什么,好多初学练字者
amezin/vscode-linux-kernel: Visual Studio Code project/compile_commands.json gen
amp;amp;lt;viewclass=amp;quot;containeramp;quot;amp;amp;gt;amp;amp;lt;viewclass=
zlotus/notes-LSJU-machine-learning: 机器学习笔记
havit/Havit.Blazor: Free Bootstrap 5 components for ASP.NET Blazor + optional en
stanhebben/MineTweaker3: Tweak your minecraft experience
与增加几乎陷入停滞的智能手机相比,平板电脑的境遇更加惨淡,2017年第一季度,全球平
bingyue/easy-springmvc-maven: A simple demo about how to use maven combine sprin
请发表评论