정의 및 사용법
PHP의 sqrt() 함수는 양의 부동소수점 숫자에 대한 제곱근(square root)을 계산하여 반환하는 수학 함수입니다. 음수의 제곱근은 실수 범위에서 정의되지 않기 때문에, 음수를 인자로 전달하면 NAN(Not A Number)을 반환합니다.
sqrt() 함수는 PHP에서 가장 널리 사용되는 수학 함수 중 하나이며, 항상 부동소수점(float) 타입의 값을 반환한다는 점을 기억해야 합니다.
구문
sqrt ( float $arg ) : float
매개변수
| 번호 | 매개변수 및 설명 |
|---|---|
| 1 | arg 제곱근을 구하고자 하는 대상 숫자입니다. |
반환 값
PHP sqrt() 함수는 주어진 arg 값의 제곱근을 반환합니다. 만약 음수가 전달되면 결과가 정의되지 않으므로 NAN을 반환합니다.
지원 PHP 버전
이 함수는 PHP 4.x, PHP 5.x, PHP 7.x 등 대부분의 PHP 버전에서 사용할 수 있습니다.
예제 1: 기본적인 제곱근 계산
다음 예제는 100의 제곱근을 계산하는 코드입니다.
<?php
$arg = 100;
echo "100의 제곱근 = " . sqrt($arg) . " ";
?>
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
100의 제곱근 = 10
예제 2: 사전 정의된 수학 상수와 비교
PHP는 자주 사용되는 제곱근 값을 미리 상수로 정의해 두고 있습니다. sqrt(2), 1/sqrt(2), sqrt(3)에 해당하는 상수는 각각 M_SQRT2, M_SQRT1_2, M_SQRT3입니다.
<?php
echo "sqrt(2) = " . sqrt(2) . " ";
echo "M_SQRT2 = " . M_SQRT2. " ";
echo "sqrt(3) = " . sqrt(3) . " ";
echo "M_SQRT3 = " . M_SQRT3 . " ";
echo "1/sqrt(2)) = " . 1/sqrt(2) . " ";
echo "M_SQRT1_2 = " . M_SQRT1_2 . " ";
?>
출력 결과
함수 호출 결과와 상수 값이 동일하게 출력되는 것을 확인할 수 있습니다.
sqrt(2) = 1.4142135623731
M_SQRT2 = 1.4142135623731
sqrt(3) = 1.7320508075689
M_SQRT3 = 1.7320508075689
1/sqrt(2)) = 0.70710678118655
M_SQRT1_2 = 0.70710678118655
예제 3: 원주율 관련 상수 활용
수학 상수 M_SQRTPI와 M_2_SQRTPI는 각각 sqrt(π)와 2/sqrt(π)의 값을 나타냅니다.
<?php
echo "sqrt(pi) = " . sqrt(M_PI) . " ";
echo "M_SQRTPI = " . M_SQRTPI. " ";
echo "2/sqrt(pi) = " . 2/sqrt(M_PI) . " ";
echo "M_2_SQRTPI = " . M_2_SQRTPI . " ";
?>
출력 결과
역시 함수 계산 결과와 미리 정의된 상수 값이 일치합니다.
sqrt(pi) = 1.7724538509055
M_SQRTPI = 1.7724538509055
2/sqrt(pi) = 1.1283791670955
M_2_SQRTPI = 1.1283791670955
예제 4: 음수 입력 시 NAN 반환
sqrt(-1)은 실수 범위에서 정의되지 않으므로 NAN을 반환합니다.
<?php
echo "sqrt(-1) = " . sqrt(-1) . " ";
?>
출력 결과
sqrt(-1) = NAN
마무리
PHP의 sqrt() 함수는 제곱근 계산을 위한 필수적인 수학 함수로, 문법이 간단하고 다양한 버전에서 안정적으로 지원됩니다. 다만 음수 입력 시 NAN이 반환된다는 점에 유의하여, 필요하다면 is_nan() 함수를 함께 사용해 결과값의 유효성을 검사하는 것이 좋습니다.