哪个复杂性mb_strlen?

时间:2016-11-14 20:35:52

标签: php time-complexity strlen

strlen复杂度为O(1),因为字符串结构保存了字符串长度,但是mb_strlen呢?请解释一下,为什么?

1 个答案:

答案 0 :(得分:1)

在最坏的情况下看source code是O(N)。

mbtab = encoding->mblen_table;
n = 0;
p = string->val;
k = string->len;
/* count */
if (p != NULL) {
    while (n < k) {
        m = mbtab[*p];
        n += m;
        p += m;
        len++;
    };
}