<?PHP $a = array('a','b','c','d','e','f'); foreach($a as &$v){ } /** * 在第一次foreach中$v是迭代变量 * 循环进行了6次 * 第一次 $v=&$a[0]; * 第二次 $v=&$a[1]; * ... * 第六次 $v=&$a[5]; * 最终引用变量$v指向数组的第6个元素内存空间 */ // var_dump($a); foreach($a as $v){ var_dump($a); } /** * 在第二次foreach中$v等同于第一个foreach中的$v * 循环进行了6次 * 第一次 $v=$a[0];所以$a[0]===$a[5]; * ['a','b','c','d','e','a'] * 第二次 $v=$a[1];所以$a[1]===$a[5]; * ['a','b','c','d','e','b'] * 第三次 $v=$a[2]; * ['a','b','c','d','e','c'] * 第四次 $v=$a[3]; * ['a','b','c','d','e','d'] * 第五次 $v=$a[4]; e * ['a','b','c','d','e','e'] * 第六次 $v=$a[5];所以$a[5]===$a[5] * ['a','b','c','d','e','e'] */ var_dump($a);