• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP中使用foreach时加&符号的用法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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"]

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Linux与Windows下安装PHP的PECLHTTP扩展发布时间:2022-07-10
下一篇:
php读取文件乱码问题发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap