A função microtime() retorna o timestamp atual do Unix com microssegundos. Unix é um sistema operacional, do qual se originou outros, como o Linux.
Na verdade a função microtime() retorna uma string contendo um espaço em branco entre eles.
<?php
echo microtime();
?>
resultado:
0.63844600 1658492124
O primeiro valor da esquerda é microsegundos e o o da direita é segundos. Os segundos é o número de segundos desde a Unix Epoch (0:00:00 1º de janeiro de 1970 GMT).
Todas as vezes que atualizar o navegador o valor será alterado, isso porque ele retorna dados referentes carimbo de tempo, veja esse artigo: O que é Carimbo de Tempo(Timestamp)?
O Valor Retornado por microtime() em php
O resultado retornado é uma string, números com um espaço em branco entre eles: “0.63844600 1658492124”.
<?php
var_dump( microtime());
?>
Resultado:
string(21) "0.64082600 1658492633"
Podemos setar para true o parâmetro return_float e assim o valor retornado será float e não mais string:
<?php
echo var_dump(microtime(true));
?>
float(1658495681.9935)
Levando em conta o valor sendo uma string, podemos usar uma função chamada explode() para separar a string retornada usando o espaço em branco entre eles:
<?php
$valor = explode(' ', microtime());
echo "valor 0 = $valor[0] <br>";
echo "valor 1 = $valor[1]";
?>
Resultado:
valor 0 = 0.48300300
valor 1 = 1658493242
Outra maneira de fazer a mesma coisa é usando a função list().
<?php
list($microseg, $seg) = explode(' ', microtime());
echo "microsegundos é $microseg e segundos $seg ";
?>
Resultado:
microsegundos é 0.26344600 e segundos 1658496098
Conclusão
Vimos sobre a função microtime() em php.
Essa função tem o parâmetro return_float que se definido como TRUE, irá retornar um float representando o tempo atual em segundos desde a época do Unix com precisão no microssegundo mais próximo.