【发布时间】:2014-05-07 14:50:54
【问题描述】:
以下循环操作在 PHP 中的效率更高:
$k = count($array);
for ($i = 0; $i < $k; $i++)
{
echo $array[$i];
}
或者
for ($i = 0; $i < count($array); $i++)
{
echo $array[$i];
}
我知道在 JavaScript 中有这样的可能并且更高效:
for (i = 0, j = array.length; i < j; i++)
{
console.log(array[i]);
}
【问题讨论】:
-
这个问题只是学术性的,在实践中你不会注意到差异,特别是如果你在迭代时没有改变数组的大小。
-
您的第一个示例是执行 for 循环的最佳方式,因为您已经缓存了
$k的值,在您的第二个示例中,您在每次迭代后重新计算。 -
另外,计数为 O(1):stackoverflow.com/questions/5835241/…
-
您也可以在 PHP 中使用相同的语法:
for ($i = 0, $j = count($array); $i < $j; $i++)
标签: php performance function for-loop