您的位置:首页 > 编程语言 > PHP开发

PHP中reset(array)函数解决each(array)循环无结果

2016-10-02 22:31 471 查看
<?php

$user = array('name' =>"zhangsan" ,
'age' =>20,
'country'=>"China" );
foreach ($user as $key => $value) {
echo "$key : $value "."</br>";
}
while ($element = each($user)) {
echo $element['key'];
echo " -- ";
echo $element['value'];
echo "</br>";
}
?>


运行的结果



运行的结果并不是猜想的那样

each() 函数返回当前元素的键名和键值,并将内部指针向前移动。
该元素的键名和键值会被返回带有四个元素的数组中。两个元素(1 和 Value)包含键值,两个元素(0 和 Key)包含键名。

reset(array)函数将内部指针指向数组中的第一个元素,并输出。将当前元素重新设置到数组开始。


修改后的代码

<?php

$user = array('name' =>"zhangsan" ,
'age' =>20,
'country'=>"China" );
foreach ($user as $key => $value) {
echo "$key : $value "."</br>";
}
reset($user);
while ($element = each($user)) {
echo $element['key'];
echo " -- ";
echo $element['value'];
echo "</br>";
}
?>


运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息