php地址变量&$value与$value之间的差异
在php中,foreach循环中的&$Value和$Value之间到底有什么区别? 它是如何工作的? 在下面的示例中,print_r$arr将返回第一个循环中修改的数组和第二个循环中未修改的数组php地址变量&$value与$value之间的差异,php,variables,Php,Variables,在php中,foreach循环中的&$Value和$Value之间到底有什么区别? 它是如何工作的? 在下面的示例中,print_r$arr将返回第一个循环中修改的数组和第二个循环中未修改的数组 <?php $arr = array(1, 2, 3, 4); foreach ($arr as $key => &$value) { $value = $value * 2; echo "$key => $value; "; print_r ($a
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as $key => &$value) {
$value = $value * 2;
echo "$key => $value; ";
print_r ($arr);
echo '<br>';
}
unset ($value);
unset ($key);
echo '<br>Second loop without "&" on value <br>';
foreach ($arr as $key => $value) {
$value = $value * 2;
echo "$key => $value; " ;
print_r($arr);
echo '<br>';
}
?>
我现在是一个初学者问题,因为我是一个:通过引用而不是通过值传递值。使用引用运算符“&”通过引用传递的变量可以在函数内部更改其值。
例如,请参见另请阅读,谢谢您,先生。因此,如果我理解正确,如果我不通过引用传递它,我可以在foreach循环内部处理数组,但在其值之外将保持不变。因此,一旦循环完成,数组将保持不变,只要我不使用按引用传递。如果确实按引用传递,请确保按代码中的方式取消设置它,否则它仍将在循环外部被引用。