Floor: примеры (PHP)
floor(int|float $num): floatФункция floor в PHP производит округление дробного числа в меньшую сторону. Возвращает ближайшее целое число, которое меньше или равно переданному значению.
Используется в задачах, требующих округления вниз: финансовые расчеты, разбиение на страницы, дискретизация данных.
floor(int|float $num): float
Аргумент $num - число для округления. Принимает значения типов int или float. Возвращает число типа float.
echo floor(4.3); // 4 echo floor(9.999); // 9 echo floor(-3.14); // -4
4 9 -4
echo floor(5); // 5 echo floor(-2); // -2
5 -2
ceil() - округляет число вверх. Применяется, когда необходим минимальный целый предел.
round() - округляет число по математическим правилам. Используется для стандартного округления.
intval() - возвращает целочисленное значение переменной, отбрасывая дробную часть. Разница с floor проявляется с отрицательными числами.
echo intval(-3.14); // -3 echo floor(-3.14); // -4
-3 -4
import math print(math.floor(4.7)) # 4 print(math.floor(-4.7)) # -5
4 -5
console.log(Math.floor(5.95)); // 5 console.log(Math.floor(-5.95)); // -6
5 -6
SELECT FLOOR(12.34), FLOOR(-12.34);
12, -13
Функция возвращает float, даже для целых аргументов.
$result = floor(5); var_dump($result);
float(5)
echo floor(\"hello\");
Warning: floor() expects parameter 1 to be int|float, string given
В PHP 8.0 функция стала строго типизированной. Аргумент должен быть типа int или float. В более ранних версиях производилось приведение типов.
// PHP 7.4 floor(\"10.5\"); // float(10) // PHP 8.0 floor(\"10.5\"); // TypeError
$totalItems = 47; $itemsPerPage = 10; $totalPages = floor($totalItems / $itemsPerPage); echo $totalPages; // 4
4
$seconds = 3672; $hours = floor($seconds / 3600); echo $hours; // 1
1
$price = 19.99; $wholeUnits = floor($price); echo $wholeUnits; // 19
19
$values = [1.2, 3.7, 5.1];
$floored = array_map('floor', $values);
print_r($floored);Array
(
[0] => 1
[1] => 3
[2] => 5
)