№2
Иллюстрация разницы между floor, ceil и round floor - округляет в меньшую сторону, ceil - в большую, а round к ближайшему целому
<?php
$numbers = array(-2.9, -2.5, -2.1, 2.1, 2.5, 2.9);
printf("%-10s%-10s%-10s%-10s\n", '#', 'floor', 'ceil', 'round');
foreach($numbers as $n){
printf('%-10s', ($n<0) ? $n : ' '.$n);
foreach(array('floor', 'ceil', 'round') as $fn){
$i = $fn($n);
printf('%-10s', ($i<0) ? $i : ' '.$i);
}
echo "\n";
}
# floor ceil round
-2.9 -3 -2 -3
-2.5 -3 -2 -3
-2.1 -3 -2 -2
2.1 2 3 2
2.5 2 3 3
2.9 2 3 3