<?php
$a = ['a', 'b', 'c'];
foreach ($a as $key => $value) {
$a[$key] = &$value;
}
var_dump($a);
/*
输出为什么是这个, 每次循环$value难道是同一个?
array(3) {
[0]=>
&string(1) "c"
[1]=>
&string(1) "c"
[2]=>
&string(1) "c"
}
*/
<?php
$a = ['a', 'b', 'c'];
foreach ($a as $key => $value) {
$a[$key] = &$value;
}
var_dump($a);
/*
输出为什么是这个, 每次循环$value难道是同一个?
array(3) {
[0]=>
&string(1) "c"
[1]=>
&string(1) "c"
[2]=>
&string(1) "c"
}
*/
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答1.4k 阅读✓ 已解决
796 阅读
646 阅读
数组的第一个元素、第二个元素、第三个元素都引用了foreach的临时变量$value,第一次循环$value为'a',第二次循环为'b',第三次循环为'c',所以数组的三个元素都为'c'