Correction status:Uncorrected
Teacher's comments:
foreach速度最快,最慢的则是while。从原理上来看,foreach是对数组副本进行操作(通过拷贝数组),而while则通过移动数组内部指标进行操作,一般逻辑下认为,while应该比foreach快(因为foreach在开始执行的时候首先把数组复制进去,而while直接移动内部指标。),但结果刚刚相反。原因应该是,foreach是PHP内部实现,而while是通用的循环结构。所以,在通常应用中foreach简单,而且效率高。在PHP5下,foreach还可以遍历类的属性。
<?php //使用for循环遍历数组 $arr = [1,2,3,4,5,6,7,8,9,10]; for($i = 0;$i < count($arr);$i++){ echo key($arr),'=>',current($arr),'<br>'; next($arr); } //使用while循环遍历数组 echo '<hr>'; //使用reset函数将指针重新回到第一个元素 reset($arr); $i = 0; while ($i<count($arr)) { echo key($arr),'=>',current($arr),'<br>'; next($arr); $i++; } echo '<hr>'; //使用foreach循环遍历数组 reset($arr); foreach ($arr as $key => $value) { echo '<li>'.$key.':'.$value.'</li>'; } ?>
点击 "运行实例" 按钮查看在线实例
手抄代码: