W3docs

tan()

Scopri la funzione tan() in PHP, usata per calcolare la tangente di un angolo espresso in radianti.

La funzione tan() in PHP restituisce la tangente di un angolo. L'angolo deve essere fornito in radianti, non in gradi — questa è la causa più comune di risultati errati, e vedremo come effettuare la conversione.

Questo capitolo spiega la sintassi, i parametri e il valore restituito di tan(), mostra esempi eseguibili e indica le insidie (radianti vs. gradi, i valori in cui la tangente tende a infinito).

Cosa fa la funzione tan()

In un triangolo rettangolo, la tangente di un angolo è il rapporto tra il lato opposto all'angolo e il lato adiacente ad esso. In modo equivalente, tan(x) = sin(x) / cos(x).

tan() accetta un singolo angolo in radianti e restituisce quel rapporto come float. Un cerchio completo è radianti (360°), quindi π/4 radianti corrispondono a 45°, la cui tangente è 1.

Sintassi

tan(float $num): float
ParametroTipoDescrizione
$numfloatL'angolo, in radianti.

Valore restituito: un float — la tangente di $num.

Esempio di base

php— editable, runs on the server

Qui passiamo pi() / 4 radianti (45°). La tangente di 45° è esattamente 1, anche se l'arrotondamento in virgola mobile la stampa come qualcosa simile a 0.99999999999999.

Lavorare con i gradi

La maggior parte delle persone pensa in gradi, ma tan() comprende solo i radianti. Prima converti con deg2rad(), oppure moltiplica per pi() / 180:

<?php
$degrees = 60;

// Convert degrees to radians before calling tan()
$radians = deg2rad($degrees);

echo tan($radians);   // ~1.7320508075689 (√3)
?>

Passare 60 direttamente a tan(60) calcolerebbe la tangente di 60 radianti — un valore completamente diverso e privo di senso per questo caso d'uso.

Attenzione: dove la tangente "esplode"

La tangente è sin(x) / cos(x), quindi è indefinita ovunque cos(x) sia zero — a 90°, 270°, e così via (π/2 + nπ). In matematica questo è infinito; in virgola mobile, cos(pi()/2) è un numero molto piccolo ma diverso da zero, quindi tan() restituisce un valore finito molto grande invece di INF:

<?php
echo tan(pi() / 2);   // ~1.6331239353195E+16 (very large, not exactly INF)
?>

Se hai bisogno di un controllo esatto per "indefinito", verifica se cos($x) è vicino a zero prima di dividere.

Funzioni correlate

  • tanh() — tangente iperbolica.
  • atan() — tangente inversa (arcotangente), restituisce un angolo in radianti.
  • sin() e cos() — gli elementi costitutivi della tangente.
  • deg2rad() e rad2deg() — conversione tra gradi e radianti.

Conclusione

tan() restituisce la tangente di un angolo espresso in radianti. Ricorda i due aspetti fondamentali: converti prima i gradi in radianti e tieni presente che la tangente è indefinita a 90° + multipli di 180°, dove PHP restituisce un valore molto grande invece di infinito.

Pratica

Pratica
Cosa fa la funzione tan() in PHP?
Cosa fa la funzione tan() in PHP?
Was this page helpful?