将来的你
一定会感谢现在拼命努力的自己

PHP foreach循环时加&符号用法

foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。

能够应用的编程语言类别:Java、C# 、PHP、D语言(Phobos库)。

foreach语句是c#中新增的循环语句,他对于处理数组及集合等数据类型特别方便。

本文讲解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) 打赏
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除,联系邮箱:contact@3yyy.top。文章观点不代表本站立场。本站原创内容未经允许不得转载:三叶运维 » PHP foreach循环时加&符号用法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

https://beian.miit.gov.cn/