PHP中的&传值引用的有关问题,在foreach循环的结果能帮解释下输出的结果原理是什么
程序员文章站
2022-04-13 09:34:01
...
PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?
PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?
代码如下:
$arr = array('one','two','three');
foreach ($arr as &$value){ echo 'Value:'.$value.'
'; }
foreach ($arr as $value){ echo 'Value:'.$value.'
'; }
?>
输出结果:
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。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
- 最新文章
- 热门排行
推荐阅读
-
PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?,PHP
-
PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么? c# foreach javascript foreach c foreach
-
PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么? - 红藕香残
-
PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?,PHP_PHP教程
-
PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么? c# foreach javascript foreach c foreach
-
PHP中的&传值引用的有关问题,在foreach循环的结果能帮解释下输出的结果原理是什么
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论