多次调用一个函数和循环调用哪个更快?

Calling a function multiple times or call it using loop, which is faster?

我需要多次调用函数 getCount($stage)(比如 15 次,因为 $stage 的值可以从 0 到 14)。哪种方法更快:

for ($i=0; $i<15; $i++)
{
  getCount($i);
}

getCount(0);
getCount(1);
.
.
.
getCount(14);

?

我正在处理的当前页面有类似的情况。它使用第二种方法,缺乏可读性。我期待着将其更改为第一种方法。在运行时方面会有什么优势或劣势吗?哪种方法会更快?

他们都很相似。一个只是占用更多的代码行。

我不会担心为此使用循环。您将获得使用 for 循环的两个主要好处。

  1. 您可以动态更改调用函数的次数,因为次数不是硬编码的。
  2. 您将获得更易于维护的代码,这些代码很容易识别其功能。

当您使用像 for 循环这样的语言结构时,性能方面的影响很小。所以我宁愿更容易阅读和更易于维护的代码,而不是非常非常小的性能提升(如果它甚至被客户注意到)

此致。

理论上 第一种方法 应该 更慢,因为有一些额外的检查和变量。考虑到很难确切知道 php 解释器内部发生了什么以及进行了什么样的优化,所以这甚至可能不是真的,但这并不重要,因为...

实用 这是一样的,循环的性能影响是如此之小,以至于如果你不做某种极端高性能计算的东西(在php?!)这两种方法在速度方面是完全等效的。