php中求平方根使用内置函数 sqrt(),直接传入非负数值即可返回其算术平方根。该函数接受一个浮点数或整数作为参数,若输入为负数则返回 nan 并触发警告。调用方式简单,例如 $result = sqrt(25); 将得到 5.0。

sqrt() 处理正数和零的具体行为是什么
sqrt() 对正数返回精确的浮点结果,对零返回 0.0。对于像 sqrt(4) 这样的完全平方数,返回值是 2.0 而非整数 2,因为函数始终返回 float 类型。这确保了数学上的一致性,但在需要整数结果时需手动转换。

<?php // 测试正数和零 $val1 = sqrt(16); $val2 = sqrt(0); echo "sqrt(16) = " . $val1 . " (Type: " . gettype($val1) . ")\n"; echo "sqrt(0) = " . $val2 . " (Type: " . gettype($val2) . ")\n"; ?>
预期输出:
sqrt(16) = 4 (Type: double)
sqrt(0) = 0 (Type: double)
sqrt() 遇到负数输入时如何处理
当输入为负数时,sqrt() 无法在实数范围内计算平方根,因此返回 NAN(Not a Number)。同时,PHP 会抛出一个 E_WARNING 级别的错误提示。开发者应在调用前检查输入值,或使用复数库处理虚数结果。

<?php // 测试负数
$val3 = sqrt(-9);
echo "sqrt(-9) = " . $val3 . "\n";
if (is_nan($val3)) {
echo "Result is NAN due to negative input.\n";
}
?>
预期输出:
Warning: sqrt() expects parameter 1 to be float, int given in ... on line ...
sqrt(-9) = NAN
Result is NAN due to negative input.
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











