PHP tan() 函数

定义和用法

tan() 函数返回一个角度的正切值。该函数接受弧度制的角度作为参数,并返回正切值。

提示:正切值等于正弦除以余弦:tan(x) = sin(x) / cos(x)。如需计算反正切,请使用 atan() 函数。如需将角度从度数转换为弧度,可以使用 deg2rad() 函数。

语法

tan(float $num): float
参数 描述
num 必需。规定一个以弧度表示的角度。

返回值

返回 num 的正切值(浮点数)。

PHP 版本

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

示例

示例 1:基本用法

<?php
echo tan(0) . "<br>";          // 0
echo tan(M_PI / 4) . "<br>";   // 约 1 (tan 45° = 1)
echo tan(M_PI / 2) . "<br>";   // 非常大的值 (接近无穷大)
?>

输出:

0
1
1.6331239353195E+16

示例 2:使用度数输入

<?php
function tan_deg($degrees) {
    return tan(deg2rad($degrees));
}

echo tan_deg(30) . "<br>";   // 约 0.57735026918963
echo tan_deg(45) . "<br>";   // 1
echo tan_deg(60) . "<br>";   // 约 1.7320508075689
?>

输出:

0.57735026918963
1
1.7320508075689

示例 3:实际应用 - 计算坡度

<?php
// 已知坡度百分比(高度/水平距离),求角度
function slopeAngle($percent) {
    return rad2deg(atan($percent / 100));
}

$percent = 15; // 15% 坡度
$angle = slopeAngle($percent);
echo "坡度 $percent% 对应的角度为: " . round($angle, 2) . "°";
?>

输出:

坡度 15% 对应的角度为: 8.53°

相关函数

注意事项

重要:
  • tan() 接受的参数必须以弧度为单位。如果使用度数,请先用 deg2rad() 转换。
  • 对于接近 π/2(90°)或 -π/2(-90°)的角度,正切值会非常大(趋于无穷),由于浮点限制,会返回一个很大的有限值,而不是 INF。
  • 由于浮点数精度问题,某些角度的正切可能不会精确为理论值(例如 tan(45°) 理论上为1,实际上非常接近1)。
  • 传入非数值类型参数可能导致意外结果或警告(PHP 8.0+ 中会抛出 TypeError)。