本文主要内容是关于php的foreach循环时加&符号的说明,感兴趣的朋友可以了解一下。
foreach时加&符号:遍历的同时改变原数组即修改数据或者增加数据。
$arr = ['a', 'b', 'c']; foreach ($arr as $key => &$value) { $value = $value . '111'; } echo json_encode($arr); // ["a111","b111","c111"],这里改变了原来数组的值
使用&可能出现的问题:
$arr = ['a', 'b', 'c']; foreach ($arr as $key => &$value) { $value = $value . '111'; } foreach ($arr as $key => $value) { $value = $value . '222'; } echo json_encode($arr); // ["a111","b111","b111222222"]
这是由于在使用赋值引用传递之后没有释放$value的值,所以会影响第二个foreach的使用。可以使用unset($value)释放变量。
$arr = ['a', 'b', 'c']; foreach ($arr as $key => &$value) { $value = $value . '111'; } unset($value); // 释放$value的引用传递 foreach ($arr as $key => $value) { $value = $value . '222'; } echo json_encode($arr); // ["a111","b111","c111"]
相关课程:PHP视频教程
立即学习“PHP免费学习笔记(深入)”;
以上就是PHP学习之foreach循环时加&符号的说明的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号