在PHP中,哪种方法可以更好地循环遍历数组


foreach ( $arr as $a ){
//some code
}

while ( $a = array_shift($arr) ){
//some code
}

我应该用哪一个?

根据php官方网站评论部分,

在较大的数组上使用array_shift相当慢。它随着阵列的缩小而加速,很可能是因为它必须重新索引一个较小的数据集。

array_shift((需要对数组进行重新索引处理,因此它必须在所有元素上运行并对它们进行索引。

如果数组太大,请避免使用array_shift((。

首选使用foreach。有了它,您可以绕过任何实现Traversable的结构。如果您有一个索引数组,则最好将其用于。维尔和foreach之间的区别应该不会太大。首选前臂。我还建议您根据具体情况导航代码。

最新更新