有时候,使用了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>'; }
本文探讨了在PHP中使用each和foreach函数时遇到的问题,特别是如何解决由于foreach的使用导致each无法正常工作的情况。文章提供了具体的代码示例来解释如何通过reset函数重置数组指针来解决问题。
2024

被折叠的 条评论
为什么被折叠?



