多少循环太多了? (PHP Do-While循环)

时间:2013-08-08 16:33:18

标签: php loops do-while

可能没有真正的答案,但是我想知道do-while循环有多少。

例如,如果它必须循环10次,那被认为是坏的吗? 5次?它取决于循环所做的事情吗?是否有办法跟踪执行循环所花费的“努力”(内存?)的数量并使用它确定它是否正常?

这更像是一个开放式的“讨论”,而不是我的观点或特定的答案。

2 个答案:

答案 0 :(得分:2)

对于单个循环,它实际上取决于内部代码正在做什么,如果计算时间太长,或者占用大量内存,那么你必须找到那个位并改变它。实际上,“好循环”的迭代次数没有上限,因为它“无论多少都是必要的”。

非常容易陷入的真正障碍是嵌套循环。例如:

for( $i=0; $i<100; $i++ ) {
    for( $j=0; $j<100; $j++ ) {
        for( $k=0; $k<100; $k++ ) {
             // some code       
        }
    }
}

它看起来无害,但内循环中的代码将被评估1,000,000次。优化这样的代码进行排序/搜索/等不仅仅是一个“开放式讨论”,它还是所有计算机科学的重要组成部分。

答案 1 :(得分:0)

这取决于它在目标机器上的执行方式。如果你在不同的模块中看到很多滞后(可能是图形,音频等),你可能必须通过划分循环(在多次迭代中执行循环)或线程来减少这种循环的影响。

总而言之,你需要尝试一下。如果它表现良好,你很高兴。但是,我强烈建议在需要很长时间的时候使用一个线程,以便您可以将进度信息发送给用户。