PHP中使用foreach時加 符號的用法

2021-09-08 19:33:39 字數 759 閱讀 2253

foreach時加&符號:遍歷的同時改變原陣列即修改資料或者增加資料。

$arr = ['a', 'b', 'c'];

foreach ($arr as $key => &$value)

echo json_encode($arr); // ["a111","b111","c111"],這裡改變了原來陣列的值

使用&可能出現的問題:

$arr = ['a', 'b', 'c'];

foreach ($arr as $key => &$value)

foreach ($arr as $key => $value)

echo json_encode($arr); // ["a111","b111","b111222222"]

這是由於在使用賦值引用傳遞之後沒有釋放$value的值,所以會影響第二個foreach的使用。可以使用unset($value)釋放變數。

$arr = ['a', 'b', 'c'];

foreach ($arr as $key => &$value)

unset($value); // 釋放$value的引用傳遞

foreach ($arr as $key => $value)

echo json_encode($arr); // ["a111","b111","c111"]

PHP中使用foreach時加 符號的用法

foreach時加 符號 遍歷的同時改變原陣列即修改資料或者增加資料。arr a b c foreach arr as key value echo json encode arr a111 b111 c111 這裡改變了原來陣列的值使用 可能出現的問題 arr a b c foreach arr ...

PHP中使用foreach引用需要注意的問題

本文目的 今天在寫專案時,發現php foreach語句中使用引用會出現奇特現象,故此記錄此現象,原因和解決方法。希望對其他人有幫助!現象 猜猜下面的 會輸出什麼?a array 1 one 2 two foreach a as key val do nothing var dump a forea...

Mybatis中使用foreach標籤批量插入資料

我們在mysql中可以使用foreach標籤進行批量插入資料。foreach中可以有兩種方式批量插入資料 方式1 intert into tablename values 值1,值2,值3 值1,值2,值3 方式2 intert into tablename values 值1,值2,值3 inte...