在了解foreach之前,需要明确 1.PHP是用c语言写的,2.foreach的遍历核心是通过指针来实现。
$arr= [ [ 'a' => 1, 'name' => 'cheng1' ], [ 'id' => 2, 'name' => 'cheng2' ] ];
foreach($arr as $k=>$v) { $v = 'abc'; //这种情况下是不能改变$v的值,因为foreach 依赖内部数组指针来实现遍历. //不明白的了解下指针 } //结果一: $arr= [ [ 'a' => 1, 'name' => 'cheng1' ], [ 'id' => 2, 'name' => 'cheng2' ] ]; foreach($arr as $k=>&$v) { $v = 'abc'; //加&可以改变$v的值,因为foreach依赖内部数组指针来实现遍历. //不明白的了解下指针 } //最好unset($v),如果不unset(),再用$v会出现意外哦 //结果二: $arr= [ [ 'a' => 1, 'name' => 'abc' ], [ 'id' => 2, 'name' => 'abc' ] ]; //对于为什么没有更加详细的说明&可以改变$v,主要要是由于涉及到了c语言的指针,(爱学习的....知道自己接下来要干嘛了吧) //因此对于PHPer只要知道加&可以改变$v的值就可以了
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦