【发布时间】:2014-11-29 06:20:42
【问题描述】:
如果我有类似的代码:
foreach(array_keys($array) as $key)
{
// work with the array
}
我有 2 个问题
- 是否为 foreach( ... ) 的每次迭代调用 array_keys( ... )?效率高吗?
- 如果我要比较速度和内存,上面的代码是否比
更快/更高效 foreach($array as $key => $data )
{
// 仅使用 $key
}
【问题讨论】:
-
不,array_keys() 仅被调用一次,然后 foreach 迭代来自该单个调用的返回值,但该返回暂时使用 PHP 内存,直到循环终止:从速度上讲它肯定更快,但是如果您的内存真的很紧,请不要将它与大型数组一起使用