您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

PHP的count()函数是数组的O(1)还是O(n)?

PHP的count()函数是数组的O(1)还是O(n)?

好吧,我们可以看看源代码

[/ext/standard/array.c](https://github.com/PHP/PHP-src/blob/PHP-5.3/ext/standard/array.c#L300)

PHP_FUNCTION(count)callphp_count_recursive(),这反过来又需要zend_hash_num_elements()非递归数组,该数组是通过以下方式实现的:

ZEND_API int zend_hash_num_elements(const HashTable *ht)
{
    IS_CONSISTENT(ht);

    return ht->nNumOfElements;
}

所以你可以看到,它O(1)$mode = COUNT_NORMAL

php 2022/1/1 18:17:38 有571人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶