Необходимо измерять время с более чем секундной точностью, например для того, чтобы сгенерировать уникальный идентификатор.
Это можно сделать при помощи функции microtime():
list($microseconds,$seconds) = explode(' ',microtime());
Функция microtime() возвращает строку, содержащую дробную часть
времени, прошедшего с начала эпохи, с точностью до микросекунды.
Например, возвращенное значение 0.41644100 1026683258 означает, что
с начала эпохи прошло 1026683258,41644100 секунд. Вместо числа
с двойной точностью возвращается строка, поскольку число с двойной
точностью не настолько велико, чтобы хранить полное значение с микросекундной точностью.
Значение времени, содержащее миросекунды, удобно для генерирования уникальных идентификаторов. Объединение его с идентификатором текущего процесса гарантирует получение уникального значения,
поскольку процесс не может генерировать более одного идентификатора за одну микросекунду:
list($microseconds,$seconds) = explode(' ',microtime());
$id = $seconds.$microseconds.getmypid();
Однако этот метод не так надежен в многопотоковых системах, где существует небольшая (но отличная от нуля) вероятность, что два потока одного процесса одновременно вызовут функцию microtime().
Документацию по функции microtime() смотрите на http://www.php.net/microtime.