php foreach ,PHP学习之foreach循环时加符号的说明
本文主要內容是關于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 ,PHP学习之foreach循环时加符号的说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++和Rust_Kotlin、Rust
- 下一篇: tp5 php跨域,TP5.1解决跨域