ceil()是PHP的内置函数,其作用是对浮点数执行操作。无论小数点后是多少,只要不是整数,它就会将数字提升到最接近的下一个整数。
ceil(float $num): float
$num:需要取整的浮点数。
返回值:类型为浮点数,但值是取整后的结果。
来看一个简单的例子:
<?php
$price = 10.1;
$rounded = ceil($price);
echo $rounded; // 输出 11
?>
即使小数部分只有0.1,ceil()仍然会将其向上进位为11。
再来看几个例子:
<?php
echo ceil(5.1); // 输出 6
echo "<br>";
echo ceil(5.9); // 输出 6
echo "<br>";
echo ceil(-5.1); // 输出 -5(负数向上即趋近于0)
?>
设想一个网站上有157条数据,每页展示10条,那么需要多少页?
<?php
$total_items = 157;
$items_per_page = 10;
$total_pages = ceil($total_items / $items_per_page);
echo $total_pages; // 输出 16
?>
无论是否刚好整除,ceil()都能确保足够的页数显示所有数据。
如果一个商品每包5个,客户订购了22个,商家需要准备多少包?
<?php
$total_ordered = 22;
$per_pack = 5;
$packs_needed = ceil($total_ordered / $per_pack);
echo $packs_needed; // 输出 5
?>
PHP中还有两个相关函数:
下面对比一下:
<?php
$num = 4.3;
echo ceil($num); // 输出 5
echo floor($num); // 输出 4
echo round($num); // 输出 4
?>
了解这三者之间的差别,有助于根据不同业务需求选择合适的函数。
假设我们正在开发一个商品下单系统,用户选择数量之后,系统需要动态计算出应付的总金额,并且向上取整到最近的整数价格,用于避免小数支付问题。
<?php
$url = "https://m66.net/checkout?price=" . $final_price;
echo "<a href='$url'>立即结算</a>";
?>