常见问题记录


1.for while foreach 迭代数组的时候哪个效率更高

  • foreach($arr as $K => $v)

    遍历是基于拷贝,每一次遍历是将当前值赋值给$v,$k,然后指针指向下一位
    但是由于是基于php实现,php的复制只要元素没有改变,那么是基于引用
  • while(true)

    直接内部指针下移
  • for(;;)

    for循环的条件每次都需要赋值和判断,所以效率是最低的,根据实验测试
  • foreach > while > for