为什么算数比$ count差

Awa*_*rni 7 php loops for-loop

我只是在回顾不同问题的答案以了解更多信息.我看到一个答案,说在php中编写是不好的做法

for($i=0;$i<count($array);$i++)

它说在循环中调用count函数会降低代码的速度.关于这个问题的评论中的讨论并不清楚.我想知道为什么这不是好习惯.这样做的替代方法应该是什么?

Nea*_*eal 9

你应该这样做:

$count = count($array);
for($i=0;$i<$count;$i++)...
Run Code Online (Sandbox Code Playgroud)

这样做的原因是因为如果你把count($array)for循环放在内部,那么每次迭代都必须调用count函数,这会降低速度.

但是,如果将计数放入变量中,则它是一个静态数字,不必每次都重新计算.