本文主要是介绍PHP中使用foreach时加符号的用法(会改变原数组),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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"]
这篇关于PHP中使用foreach时加符号的用法(会改变原数组)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!