首页  >  文章  >  后端开发  >  PHP学习之foreach循环时加&符号的说明

PHP学习之foreach循环时加&符号的说明

little bottle
little bottle转载
2019-04-20 13:46:055047浏览

本文主要内容是关于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学习之foreach循环时加&符号的说明的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:cnblogs.com。如有侵权,请联系admin@php.cn删除