PHP sqrt() 函数

定义和用法

sqrt() 函数返回一个数的平方根。该函数接受一个非负数作为参数,并返回其平方根值。

提示:如需计算其他次方根(如立方根),可以使用 pow() 函数,例如 pow($num, 1/3)

语法

sqrt(float $num): float
参数 描述
num 必需。规定要计算平方根的数。必须为非负数(≥0)。

返回值

返回 num 的平方根。如果 num 是负数,则返回 NAN(非数字)。

PHP 版本

  • PHP 4+
  • PHP 5+
  • PHP 7+
  • PHP 8+

示例

示例 1:基本用法

<?php
echo sqrt(9) . "<br>";   // 3
echo sqrt(16) . "<br>";  // 4
echo sqrt(2) . "<br>";   // 约 1.4142135623731
echo sqrt(0) . "<br>";   // 0
?>

输出:

3
4
1.4142135623731
0

示例 2:处理负数

<?php
$result = sqrt(-1);
if (is_nan($result)) {
    echo "sqrt(-1) 结果为 NAN (非数字)";
} else {
    echo $result;
}
?>

输出:

sqrt(-1) 结果为 NAN (非数字)

示例 3:实际应用 - 勾股定理

<?php
// 计算直角三角形的斜边
function hypotenuse($a, $b) {
    return sqrt($a * $a + $b * $b);
}

$a = 3;
$b = 4;
$c = hypotenuse($a, $b);
echo "直角三角形两直角边为 $a 和 $b,斜边为 $c";
?>

输出:

直角三角形两直角边为 3 和 4,斜边为 5

相关函数

注意事项

重要:
  • 如果参数 num 是负数,函数返回 NAN(非数字),并产生一个警告(PHP 7+)。
  • 由于浮点数精度限制,结果可能存在微小误差,例如 sqrt(2) 不能完全精确表示。
  • 传入非数值类型参数会导致警告(PHP 7+)或 TypeError(PHP 8+)。