el planteamiento es correcto, la implementación no...
te sugiero consultar al manual al respecto:
http://php.net/microtime
ya que los valores que devuelve dicha función no son los que seguramente piensas, y de ahí que los resultados pueden estar errados... (: