将一个数组赋值给另一个数组时会重置原来数组的指针,在特殊情况下会导致无限循环,如:
fruit=array(′a′=>′apple′,′b′=>′banana′,′c′=>′cranberry′);while(list(key,
value)=each(fruit)){
$arr =
fruit;echo"key => $value\n";
}
上面的例子中,在while循环里用each把
fruit数组的指针向前移动了一个位置,但后面又把数组fruit赋值给
arr,此时,fruit数组的指针会被重置,因此,会出现无限循环的现象。