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>";
?>