php的strlen函数时间复杂度是O(1)的,从下面php的源码中可以看出来。
zend_builtin_functions.c
ZEND_NAMED_FUNCTION(zend_if_strlen)
{
zval **str;
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &str) == FAILURE) {
ZEND_WRONG_PARAM_COUNT();
}
convert_to_string_ex(str);
RETVAL_LONG(Z_STRLEN_PP(str));
}
zend_operators.h:400:#define Z_STRLEN_PP(zval_pp) Z_STRLEN(**zval_pp)
zend_operators.h:372:#define Z_STRLEN(zval) (zval).value.str.len