首頁  >  文章  >  後端開發  >  PHP學習之foreach迴圈時加&符號的說明

PHP學習之foreach迴圈時加&符號的說明

little bottle
little bottle轉載
2019-04-20 13:46:055119瀏覽

本文主要內容是關於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影片教學

以上是PHP學習之foreach迴圈時加&符號的說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除