PHP 中 for 与 foreach 对比
总体来说,如果数据库过几十万了,才能看出来快一点还是慢一点,如果低于10万的循环,就不用测试了。php 推荐用 foreach。
循环数字数组时:
- for 需要事先 count($arr) 计算数组长度,
- 引入自增变量$i ,每次循环都要进行条件判断 $i<$c ,然后自增$i++
- 输出数组元素时,$arr[$i] 需要进行哈希操作.
而 foreach 循环数组时,指针会自动指向下一个元素,不需要计算数组长度,没有条件判断和自增变量,调用元素时也没有哈希操作,所以性能肯定要比 for 和 while 高.另外,for 和 while 对存在键值映射的关联数组无能为力.所以,遍历数组,首选 foreach .foreach 也是我 PHP 里最喜欢的关键字,因为它确实强大. array_map/array_filter/array_walk 遍历数组的方式和foreach一样,但需要执行回调函数,所以也比 foreach 慢。

浙公网安备 33010602011771号