foreach ( $arr as $a ){
//some code
}
或
while ( $a = array_shift($arr) ){
//some code
}
我应该用哪一个?
根据php官方网站评论部分,
在较大的数组上使用array_shift相当慢。它随着阵列的缩小而加速,很可能是因为它必须重新索引一个较小的数据集。
array_shift((需要对数组进行重新索引处理,因此它必须在所有元素上运行并对它们进行索引。
如果数组太大,请避免使用array_shift((。
首选使用foreach。有了它,您可以绕过任何实现Traversable的结构。如果您有一个索引数组,则最好将其用于。维尔和foreach之间的区别应该不会太大。首选前臂。我还建议您根据具体情况导航代码。