sim*_*Pod 24 php performance for-loop
使用典型for循环时,PHPStorm建议更改它以获得更好的性能.我真的不明白这个建议.我该怎么改变它?
Daa*_*aan 57
for($i = 0; $i <= count($data); $i++){}
在每个迭代的这个例子中,它必须count($data)再次.
for($i = 0, $iMax = count($data); $i <= $iMax; $i++){}
在这个例子中,它只需要count($data)一次.
这就是区别.
Mar*_*ker 13
如果你执行循环count()内部for,那么每次迭代都会执行它,并且调用函数是一个性能开销.
相反,如果你count()在for循环之前调用并将结果赋值给变量,那么与for循环中的变量进行比较,你就不会有函数调用开销,所以它更快
gab*_*886 12
通过以您的方式进行循环,每次迭代都需要进行评估count($data).如果列表中有很多项目,可能需要一段时间(相对)来计算这些项目,并且每次都必须这样做.
它潜水的提示是在开始时将变量设置为count($ data)的值,然后使用该变量作为循环限制,当它仅被评估一次时.
这可以通过两种方式完成:
$loopMax = count($data);
for ($i = 0; $i <= $loopMax; $i++) {
// Your code here
}
Run Code Online (Sandbox Code Playgroud)
要么
for ($i=0, $loopMax = count($data); $i <= $loopMax; $i++) {
// your code here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2578 次 |
| 最近记录: |