我需要多次调用函数getCount($stage)
(比如 15,因为$stage可以有 0 到 14 的值)。哪种方法更快:
for ($i=0; $i<15; $i++)
{
getCount($i);
}
或
getCount(0);
getCount(1);
.
.
.
getCount(14);
?
我正在处理的当前页面也有类似的情况。它使用第二种方法,缺乏可读性。我期待将其更改为第一种方法。在运行时方面有什么优点或缺点吗?哪种方法会更快?
我不会担心为此使用循环。您将获得使用 for
循环的两个主要好处。
- 您可以动态更改调用函数的次数,因为该次数不是硬编码的。
- 您可以获得更多可维护的代码,这些代码很容易识别其作用。
性能方面,当您使用语言结构(如 for
循环)时,性能影响最小。因此,我更喜欢更易于阅读和更易于维护的代码,而不是非常非常小的性能提升(如果客户端甚至注意到它)
问候。
理论上
第一种方法应该更慢,因为有一些添加的检查和变量。考虑到要确切地知道 php intepreter 内部发生了什么以及进行了什么样的优化是很困难的,所以这甚至可能不是真的,但这并不重要,因为......
实践上这是相同的,循环的性能影响是如此之小,以至于如果你不做某种极端高性能的计算工作(在php?!),这两种方法在速度方面是完全等效的。
它们都很相似。一个只是占用更多的代码行。