有时候,使用了each配合list却不能输出数组数据,一开始爱以为是php版本不支持each函数,
但是又没有报错。最后意识到原来是在each之前使用过foreach函数,这个函数使得数组中的指针已经
移动到数组末尾,这时候z
$arr=array('name'=>'张三','sex'=>'male','age'=>'23'); var_dump($arr); echo '<hr>'; print_r(each($arr)); echo '<hr>'; foreach($arr as $k=>$v){ echo $k.'=>'.$v.'<br>'; } echo '<hr>'; reset($arr);//因为上面数组的指针已经移动到数组末尾,下面使用each的时候发生指针越界,返回false,导致无法输出值。 //因此使用reset()函数将指针初始化到0开始,即数组起始位置。 while(list($key,$val)=each($arr)){ echo $key.'=>'.$val.'<br>'; }