<?phpecho "Hello world!<br />";$persons = array(100,100,120,130);while($element = each($persons)){echo $element['key'];echo '-----';echo $element['value'];echo '<br />';}foreach($persons as $key => $value){echo $key."-".$value."<br />";}?>代码运行结果:Hello world!0-----1001-----1002-----1203-----1300-1001-1002-1203-130但如果把foreach和while语句的顺序替换后,<?phpecho "Hello world!<br />";$persons = array(100,100,120,130);foreach($persons as $key => $value){echo $key."-".$value."<br />";}while($element = each($persons)){echo $element['key'];echo '-----';echo $element['value'];echo '<br />';}?>代码运行结果是:Hello world!0-1001-1002-1203-130从输出结果看,好像while语句没有执行,为什么呢?求大神指教。在 while前加了 reset($persons);,两次代码输出结果一致了。是不是因为foreach执行后,指针越界,所以while没有输出数据?PHP不会自己提示数组越界吗?
添加回答
举报
0/150
提交
取消