ceil()函數的基本語法如下:
ceil(float $num): float
該函數接收一個數值參數,並返回大於或等於該數值的最小整數。比如:
echo ceil(3.2); // 輸出 4
在PHP中,字符串會在數學運算中自動轉換為數值類型。也就是說,如果你傳入一個可以被解析為浮點數的字符串, ceil()會照常工作:
echo ceil("4.7"); // 輸出 5
echo ceil("10"); // 輸出 10
這在處理表單輸入或GET參數時尤其有用:
$price = $_GET['price']; // URL: https://m66.net/product.php?price=9.3
echo ceil($price); // 輸出 10
即便$_GET['price']是字符串類型,只要其格式合法, ceil()也能正常工作。
如果傳入的字符串無法被轉換為數值,PHP會將其視為0並觸發警告:
echo ceil("abc"); // 輸出 0,並觸發PHP警告
類似地,對於混合字符(如“12abc”),PHP會從左到右解析直到遇到非數字字符為止:
echo ceil("12abc"); // 輸出 12
雖然PHP的這種寬容設計可以減少程序崩潰,但並不意味著我們應該依賴它來容錯。更好的做法是使用is_numeric()先判斷再處理:
$input = $_GET['amount']; // https://m66.net/order.php?amount=3.8
if (is_numeric($input)) {
echo ceil($input);
} else {
echo "無效的輸入";
}