php foreach循环中使用引用的问题


Posted in PHP onNovember 06, 2013

看代码,再做解释

<?php 
$array=array('a','b','c','d'); 
foreach($array as $key=>$val){ 
    //do something 
} 
echo $val;//输出d 
echo $kay;//输出3 
$val='e'; 
print_r($array);//输出Array ( [0] => a [1] => b [2] => c [3] => d ) 
?>
 

在foreach循环中,当循环结束后,$key和$val变量都不会自动释放掉。值会被保留下来。
当foreach使用引用的情况下,会出现如下的情况,需要注意。
<?php 
$array=array('a','b','c','d'); 
foreach($array as $key=>&$val){//使用引用 
    //do something 
} 
echo $val;//输出d 
echo $kay;//输出3 
$val='e'; 
print_r($array);//输出Array ( [0] => a [1] => b [2] => c [3] => e ) 
?>
 

当$val变量使用&引用后,当执行foreach循环结束后,$val指向了和$arrar[3]相同的内存地址。
当foreach循环结束后$val变量还是存在的,所以在foreach循环结束后改变$val的值,就相当于改变了$arrar[3]的值。
PHP 相关文章推荐
PHP 高手之路(一)
Oct 09 PHP
php $_ENV为空的原因分析
Jun 01 PHP
php中mysql模块部分功能的简单封装
Sep 30 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
关于php支持分块与断点续传文件下载功能代码
May 09 PHP
PHP之uniqid()函数用法
Nov 03 PHP
PHP 数组基本操作小结(推荐)
Jun 13 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
因str_replace导致的注入问题总结
Aug 08 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 PHP
php用正则表达式匹配中文实例详解
Nov 06 #PHP
php引用传值实例详解学习
Nov 06 #PHP
php二维数组排序详解
Nov 06 #PHP
PHP Curl多线程原理实例详解
Nov 06 #PHP
php二维数组用键名分组相加实例函数
Nov 06 #PHP
php不用正则验证真假身份证
Nov 06 #PHP
php 中文字符串首字母的获取函数分享
Nov 04 #PHP
You might like
精美漂亮的php分页类代码
2013/04/02 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
JavaScript多并发问题如何处理
2015/10/28 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
Javascript 跨域知识详细介绍
2016/10/30 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
Python卸载模块的方法汇总
2016/06/07 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
python 自动重连wifi windows的方法
2018/12/18 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
工作决心书
2014/03/11 职场文书
初中班主任评语
2014/04/24 职场文书
青安岗事迹材料
2014/05/14 职场文书
员工年终考核评语
2014/12/31 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
爱心募捐通知范文
2015/04/27 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
Mysql外键约束的创建与删除的使用
2022/03/03 MySQL