PHP中使用foreach时加&符号的用法
程序员文章站
2024-01-02 09:57:10
foreach时加&符号:遍历的同时改变原数组即修改数据或者增加数据。 使用&可能出现的问题: 这是由于在使用赋值引用传递之后没有释放$value的值,所以会影响第二个foreach的使用。可以使用unset($value)释放变量。 ......
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中引述(变量和函数名前加&符号)的用法
-
探讨:php中在foreach中使用foreach ($arr as $value) 这种类型的解释
-
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比_php技巧
-
php中的curl使用入门教程和常见用法实例_php实例
-
php中函数前加&符号的作用分解,php函数
-
php中函数前加&符号的作用分解
-
浅谈PHP中foreach/in_array的使用
-
PHP中的函数-- foreach()的用法详解
-
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释