php foreach ,PHP学习之foreach循环时加符号的说明
本文主要內(nèi)容是關(guān)于PHP的foreach循環(huán)時(shí)加&符號(hào)的說(shuō)明,感興趣的朋友可以了解一下。
foreach時(shí)加&符號(hào):遍歷的同時(shí)改變?cè)瓟?shù)組即修改數(shù)據(jù)或者增加數(shù)據(jù)。
$arr = ['a', 'b', 'c'];
foreach ($arr as $key => &$value) {
$value = $value . '111';
}
echo json_encode($arr); // ["a111","b111","c111"],這里改變了原來(lái)數(shù)組的值
使用&可能出現(xiàn)的問(wèn)題:
$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"]
這是由于在使用賦值引用傳遞之后沒(méi)有釋放$value的值,所以會(huì)影響第二個(gè)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"]
總結(jié)
以上是生活随笔為你收集整理的php foreach ,PHP学习之foreach循环时加符号的说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++和Rust_Kotlin、Rust
- 下一篇: linux libbz2.so.1,li