php foreach循环中使用引用的问题
时间:2023-11-17 17:22:26
看代码,再做解释
<?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,foreach
0
投稿
猜你喜欢
关于Vue单页面骨架屏实践记录
2024-05-09 15:14:23
python中random随机函数详解
2022-06-14 22:34:43
Python重试库 Tenacity详解(推荐)
2021-07-07 00:20:09
详解Java使用JDBC连接MySQL数据库
2024-01-24 18:21:06
python生成随机验证码(中文验证码)示例
2022-07-28 05:41:58
sql2005 数据库转为sql2000数据库的方法(数据导出导入)
2024-01-26 07:38:56
Python编程之序列操作实例详解
2023-05-26 16:08:03
python sqlalchemy动态修改tablename两种实现方式
2023-12-05 06:43:15
Python图片的横坐标汉字实例
2023-09-06 18:59:44
Python闭包及装饰器运行原理解析
2022-12-16 20:59:06
python实时监控logstash日志代码
2021-03-08 07:46:49
MySQL中distinct与group by之间的性能进行比较
2024-01-15 05:01:56
Python语言的12个基础知识点小结
2023-08-23 10:12:07
mysql命令提示行连接乱码的解决
2024-01-14 11:05:20
MySQL存储IP地址的方法
2024-01-23 06:01:02
操作Dom节点实现间歇滚动新闻
2009-10-16 20:51:00
SQL Server 2016 CTP2.2安装配置方法图文教程
2024-01-18 19:04:29
微信小程序访问mysql数据库流程详解
2024-01-23 10:34:43
详解ES6之async+await 同步/异步方案
2023-08-24 11:10:54
js+css实现有立体感的按钮式文字竖排菜单效果
2024-04-22 13:09:42