优化PHP - 在foreach循环中使用array_keys()确实提高了性能吗?

时间:2011-12-08 16:11:34

标签: php arrays optimization

我在一些不同的文章中读到,在foreach循环中使用array_keys()可以提高性能,但实际上,在大型数组上使用array_keys()时,我真的没有注意到代码速度的任何增加。

示例:

foreach(array_keys($myArray) as $ak){
   $arrayElement =& $myArray[$ak];
   //do whatever I need to do with massive array ...
}

1 个答案:

答案 0 :(得分:1)

使用大型阵列获得一些性能提升有些合乎逻辑 - 是的。这样,PHP将只复制循环中的数组键而不是键+值,从而减少了内存密集型过程。

但是,正如评论部分所述 - 它并不是您通常会注意到的。对于那些事情来说,这是一个习惯性的好习惯,但除非你编写一个相当复杂/沉重的脚本,否则你实际上不能在基准测试分数之外看到它。