1

假设我正在使用的回调函数的时间复杂度为 O(1),那么 PHP 中array_filter 函数的运行时间是多少,在某个地方我可以找到 array_filter 函数的实现吗?

谢谢

4

2 回答 2

1

array_filter 的来源在这里,Cf for array_filter: https://github.com/php/php-src/blob/master/ext/standard/array.c

我找到了答案(它指出 array_filter 是 O(n),并非完全不明显,因为它需要对列表中的每个项目只迭代一次): PHP 函数的 Big-O 列表

于 2012-10-07T12:14:52.153 回答
1

复杂度应该是O(N).

它只是循环它并使用回调来检查元素。

你可以在这里找到实现

于 2012-10-07T12:16:23.590 回答