나의 방법에서 microtime()을 다른 위치에 출력하면 동일한 시간이 발생합니다
서버 정보
나의 방법에서 microtime()을 다른 위치에 출력하면 동일한 시간이 발생합니다
서버 정보
마이크로타임은 고유하지 않습니다. 누가 동일한 시간을 출력할 수 없다고 규정합니까?
참고: PHP의 마이크로타임은 캐시 처리 없이 시스템의 gettimeofday 함수 결과를 직접 사용하여 결과가 동일한 경우 PHP는 이를 기억하지 않습니다.
PHP 5.3.28에서 마이크로타임 구현
<code>static void _php_gettimeofday(INTERNAL_FUNCTION_PARAMETERS, int mode) { zend_bool get_as_float = 0; struct timeval tp = {0}; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &get_as_float) == FAILURE) { return; } if (gettimeofday(&tp, NULL)) { RETURN_FALSE; } if (get_as_float) { RETURN_DOUBLE((double)(tp.tv_sec + tp.tv_usec / MICRO_IN_SEC)); } if (mode) { timelib_time_offset *offset; offset = timelib_get_time_zone_info(tp.tv_sec, get_timezone_info(TSRMLS_C)); array_init(return_value); add_assoc_long(return_value, "sec", tp.tv_sec); add_assoc_long(return_value, "usec", tp.tv_usec); add_assoc_long(return_value, "minuteswest", -offset->offset / SEC_IN_MIN); add_assoc_long(return_value, "dsttime", offset->is_dst); timelib_time_offset_dtor(offset); } else { char ret[100]; snprintf(ret, 100, "%.8F %ld", tp.tv_usec / MICRO_IN_SEC, tp.tv_sec); RETURN_STRING(ret, 1); } }</code>
마이크로초는 이렇습니다. 선생님께서 PHP 알고리즘의 정확성에 대해 말씀하셨던 기억이 납니다. 구체적인 질문은 아래층의 마스터에게 문의하세요.
echo microtime();
sleep(1);
echo microtime()
?>