ceil(float $num): float
| 参数 | 描述 |
|---|---|
num |
必需。规定要进行向上取整的数字。 |
返回不小于 num 的下一个整数。返回值仍然是 float 类型,因为 float 的取值范围通常比 int 更大。
<?php
echo (ceil(5.1) . "<br>"); // 6
echo (ceil(5.9) . "<br>"); // 6
echo (ceil(-5.1) . "<br>"); // -5 (注意:-5 大于 -5.1)
echo (ceil(-5.9) . "<br>"); // -5
echo (ceil(5) . "<br>"); // 5 (整数保持不变)
?>
输出:
6
6
-5
-5
5
<?php
$values = [-3.7, -3.3, -3, 0, 3.3, 3.7];
foreach ($values as $value) {
echo "ceil($value) = " . ceil($value) . "<br>";
}
?>
输出:
ceil(-3.7) = -3
ceil(-3.3) = -3
ceil(-3) = -3
ceil(0) = 0
ceil(3.3) = 4
ceil(3.7) = 4
<?php
function getTotalPages($totalItems, $itemsPerPage) {
return ceil($totalItems / $itemsPerPage);
}
$totalItems = 105;
$itemsPerPage = 20;
echo "总记录数:$totalItems<br>";
echo "每页显示:$itemsPerPage<br>";
echo "总页数:" . getTotalPages($totalItems, $itemsPerPage);
?>
输出:
总记录数:105
每页显示:20
总页数:6
ceil() 返回的类型是 float,即使传递的值是整数也是如此。如果需要 int 类型,可以手动转换:(int) ceil($value)。ceil(0.1 + 0.7) 可能返回 1 而不是 0 ?实际上 0.1+0.7=0.8,ceil 应为 1。但浮点精度问题可能导致 0.1+0.7=0.7999999,ceil 可能为 0?这只是一个潜在问题。但通常没问题。float 精度时,结果可能不精确。