I wrote a simple method for sleeping with a float, which also allows you to do milliseconds (via fractional seconds).<?php function sleepFloatSecs($secs) { $intSecs = intval($secs); $microSecs = ($secs - $intSecs) * 1000000; if($intSecs > 0) { sleep($intSecs); } if($microSecs > 0) { usleep($microSecs); } }?>And testing on my machine it works perfectly:<?php $x = [0.100,0.250,0.5,1.0,1.5,2.0,2.5]; foreach($x as $secs) { $t = microtime(true); sleepFloatSecs($secs); $t = microtime(true) - $t; echo "$secs \t => \t $t\n"; }?>Output:<?php 0.1 => 0.10017800331116 0.25 => 0.25016593933105 0.5 => 0.50015211105347 1 => 1.0001430511475 1.5 => 1.5003218650818 2 => 2.000167131424 2.5 => 2.5002470016479?>