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 "无效的输入";
}