Ce face deg2rad / rad2deg
Funcțiile trigonometrice din PHP lucrează în radiani. deg2rad transformă gradele în radiani (înmulțește cu π/180), iar rad2deg(float $num) face invers.
Parametri
| Parametru | Descriere |
|---|---|
$num |
Unghiul de transformat. |
Ce returnează
Unghiul transformat, ca float.
Exemple
Exemplul 1: Transformări uzuale
<?php
var_dump(deg2rad(180));
var_dump(rad2deg(M_PI / 2));
var_dump(round(deg2rad(45), 4));
Rezultat
float(3.141592653589793)
float(90)
float(0.7854)
Exemplul 2: Distanța dintre Iași și Cluj (formula haversine)
<?php
function distanta(float $lat1, float $lon1, float $lat2, float $lon2): float
{
$dLat = deg2rad($lat2 - $lat1);
$dLon = deg2rad($lon2 - $lon1);
$a = sin($dLat / 2) ** 2 + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * sin($dLon / 2) ** 2;
return 6371 * 2 * atan2(sqrt($a), sqrt(1 - $a));
}
echo round(distanta(47.1585, 27.6014, 46.7712, 23.6236)) . " km în linie dreaptă";
Rezultat
305 km în linie dreaptă
Greșeli frecvente
- Transformi de două ori:
sin(deg2rad(deg2rad(30))). Aplicădeg2rado singură dată, chiar înainte de funcția trigonometrică.
Comenzi înrudite
sin / cos / tan: Calculează sinusul (sin), cosinusul (cos) și tangenta (tan) unui unghi exprimat în radiani.asin / acos / atan / atan2: Funcțiile trigonometrice inverse: din valoarea unui sinus, cosinus sau tangente află unghiul, în radiani.pi: Returnează valoarea numărului π (aproximativ 3,14159).