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.