php 中遍历数组时使用引用出现的问题
2024-08-28 13:48:46
今天在使用foreach遍历数组时发现,当使用&时会出现问题:
$arr = array(
array('id' => 100, 'error'=> 'aa'),
array('id' => 101, 'error'=> 'bb'),
); foreach($arr as &$value) {
if($value['id'] == 101) $value['error'] = 'test';
} var_dump($arr); foreach($arr as $value) {}
var_dump($arr);
后来查看手册才发现,原来是因为在遍历时使用引用,当第二次遍历数组时,数组的指针$value 还是指向数组的末尾的元素,当重新赋值时 $value 指向的数组的末尾的元素就被修改了
解决办法是在第一次遍历完成之后就将$value unset()掉。
最新文章
- iOS 七牛云上传并获取图片----【客户端】
- css3 flex流动自适应响应式布局样式类
- 创建XML
- ENVI 5.0 Beta 体验——影像数据的显示
- js的for in具有不适应性(转)
- Material Design 设计--阴影的重要性
- jQuery.ajax() datatype:“json"; 转换失败
- SQLLoader3(数据文件没有分隔符时的导入)
- C# 通讯网关开发
- robot framework 牛刀一试
- hibernate 查询方式汇总
- mysql打不开表问题解决方案
- Java对象序列化和反序列化的工具方法
- SQL SERVER 用sql语句将一列数据拼接成一个字符串
- 【转】避免全表扫描的sql优化
- 页面练习my blog day51
- c++获取随机数
- Linux块设备驱动_WDS
- Installing Percona XtraDB Cluster on CentOS
- HTTP API 设计指南(响应部分)
热门文章
- 【转】Java关键字final、static使用总结
- webstorm安装后的一些设置技巧:
- FileInputStream、FileReader、FileInputStream、FileWriter使用小结
- springMVC:通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明
- EUI ViewStack实现选项卡组件
- PHP大文件存储示例,各种文件分割和合并(二进制分割与合并)
- CSS背景 顶上 顶下之类详解
- MySQL事件 Events
- 在html中关于如果function的函数名和input的name一样会发生怎样的现象
- [ASP.NET]