PHP - foreach 循环中变量前面的 & 符号
可能的重复:
引用 - 这个符号在PHP中是什么意思?
我需要知道为什么我们在 foreach 循环中的变量之前使用 & 符号
foreach ($wishdets as $wishes => &$wishesarray) {
foreach ($wishesarray as $categories => &$categoriesarray) {
}
}
可能的重复:
引用 - 这个符号在PHP中是什么意思?
我需要知道为什么我们在 foreach 循环中的变量之前使用 & 符号
foreach ($wishdets as $wishes => &$wishesarray) {
foreach ($wishesarray as $categories => &$categoriesarray) {
}
}
此示例将向您展示差异
$array = array(1, 2);
foreach ($array as $value) {
$value++;
}
print_r($array); // 1, 2 because we iterated over copy of value
foreach ($array as &$value) {
$value++;
}
print_r($array); // 2, 3 because we iterated over references to actual values of array
在这里查看PHP文档:http://pl.php.net/manual/en/control-structures.foreach.php
这意味着它是通过引用而不是值传递的...IE 对变量的任何操作都会影响原始变量。这与任何修改都不会影响原始对象的值不同。
这在堆栈溢出时被问过很多次。