sqrt

sqrt($num)

Renvoie la racine carrée d’un nombre, toujours sous forme de float. Pour un nombre négatif, elle renvoie la valeur spéciale NAN (pas un nombre).

Paramètres

  • $num – le nombre dont on extrait la racine.

Exemples

echo sqrt(16); // 4
// le résultat est toujours un float
var_dump(sqrt(16)); // float(4)
echo round(sqrt(2), 4); // 1.4142
// un nombre négatif
var_dump(is_nan(sqrt(-1))); // bool(true)
// la distance entre les points [1, 2] et [4, 6]
echo sqrt(pow(4 - 1, 2) + pow(6 - 2, 2)); // 5
// l'hypoténuse d'un triangle rectangle
echo hypot(3, 4); // 5
// le nombre est-il le carré d'un entier ?
$number = 49;
$root = (int) round(sqrt($number));
var_dump($root * $root === $number); // bool(true)
// la racine cubique
echo round(pow(27, 1 / 3), 10); // 3

Points d’attention

  • Elle renvoie un float même quand la racine est un nombre entier. La comparaison stricte sqrt(16) === 4 vaut donc false.
  • Pour un nombre négatif, elle renvoie NAN. Seule is_nan() reconnaît cette valeur, une comparaison avec n’importe quelle valeur (même avec elle-même) renvoie false.
  • Le résultat n’est souvent qu’approximatif. Arrondissez-le avec round() avant de le comparer.
  • Les autres racines se calculent avec pow() et un exposant fractionnaire.

Fonctions associées :
pow()
round()
abs()
bcsqrt()
hypot()