任何人都可以向我解释以下PHP脚本的输出:
$a = array ('zero','one','two');
foreach ($a as &$v) {
}
foreach ($a as $v) {
}
print_r($a);
输出:
阵 ( [0] =>零 [1] =>一 [2] =>一 )
答案 0 :(得分:2)
不是真正的答案,但它可以帮助您了解正在发生的事情。
<?php
$a = array ('zero','one','two');
foreach ($a as &$v) {
}
print_r($v); // two
$v = "four";
print_r($a);
// Array
// (
// [0] => zero
// [1] => one
// [2] => four
// )
答案 1 :(得分:1)
通过引用传递,您可以更改循环内部或外部的值。
<?php
$a = array ('zero','one','two');
foreach ($a as &$v) {
}
// before loop $v is reference to last item in array $a
// if you perform unset($v) before this loop, nothing will change in $a
foreach ($a as $v) {
// here you assigning $v values from this array in loop
}
print_r($a);
// Array
// (
// [0] => zero
// [1] => one
// [2] => one
// )