Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP 미리 정의된 수학 상수 총정리: M_PI부터 INF까지

PHP는 별도의 선언이나 라이브러리 설치 없이 바로 사용할 수 있는 미리 정의된(predefined) 수학 상수를 기본적으로 제공합니다. 이러한 상수에는 원주율(π), 오일러 수(e), 자연로그 값, 제곱근 등 수학 연산에 자주 쓰이는 고정밀도 값들이 포함되어 있어, 개발자가 직접 값을 입력하는 것보다 정확성과 가독성 면에서 훨씬 유리합니다.

PHP 수학 상수 목록

아래 표는 PHP에서 제공하는 주요 수학 상수와 실제 값, 그리고 각 상수의 의미를 정리한 것입니다.

상수설명
M_PI3.14159265358979323846원주율 π (파이)
M_E2.7182818284590452354오일러 수 e (자연로그의 밑)
M_LOG2E1.4426950408889634074log2 e
M_LOG10E0.43429448190325182765log10 e
M_LN20.69314718055994530942loge 2 (2의 자연로그)
M_LN102.30258509299404568402loge 10 (10의 자연로그)
M_PI_21.57079632679489661923π/2
M_PI_40.78539816339744830962π/4
M_1_PI0.318309886183790671541/π
M_2_PI0.636619772367581343082/π
M_SQRTPI1.77245385090551602729√π (파이의 제곱근)
M_2_SQRTPI1.128379167095512573902/√π
M_SQRT21.41421356237309504880√2 (2의 제곱근)
M_SQRT31.73205080756887729352√3 (3의 제곱근)
M_SQRT1_20.707106781186547524401/√2
M_LNPI1.14472988584940017414loge(π) (π의 자연로그)
M_EULER0.57721566490153286061오일러 상수 (오일러–마스케로니 상수 γ)
PHP_ROUND_HALF_UP1절반 값을 위로 반올림 (일반적인 반올림)
PHP_ROUND_HALF_DOWN2절반 값을 아래로 내림
PHP_ROUND_HALF_EVEN3절반 값을 가장 가까운 짝수로 반올림 (은행가 반올림)
PHP_ROUND_HALF_ODD4절반 값을 가장 가까운 홀수로 반올림
NANNANNot A Number — 숫자가 아님을 나타내는 특수 값
INFINF무한대(Infinity)를 나타내는 특수 값

주요 상수 활용 방법

이 상수들은 스크립트 어디에서든 추가 설정 없이 즉시 사용할 수 있습니다. 예를 들어 원의 넓이를 계산할 때 M_PI를 활용하면 됩니다.

$radius = 5;
$area = M_PI * $radius ** 2; // 원의 넓이 계산
echo $area; // 78.539816339745

round() 함수와 반올림 모드 상수

PHP_ROUND_HALF_UP, PHP_ROUND_HALF_DOWN, PHP_ROUND_HALF_EVEN, PHP_ROUND_HALF_ODD 상수는 round() 함수의 세 번째 인자(모드)로 사용됩니다. 특히 금융·통계 계산에서 반올림 방식이 결과에 큰 영향을 미치므로, 상황에 맞는 모드를 선택하는 것이 중요합니다.

echo round(2.5, 0, PHP_ROUND_HALF_UP);   // 3
echo round(2.5, 0, PHP_ROUND_HALF_DOWN); // 2
echo round(2.5, 0, PHP_ROUND_HALF_EVEN); // 2
echo round(2.5, 0, PHP_ROUND_HALF_ODD); // 3

NAN과 INF 처리 시 주의사항

NAN은 0으로 나누기나 유효하지 않은 수학 연산의 결과로 나타날 수 있으며, 자기 자신과도 같지 않은(NAN === NAN이 거짓) 특수한 성질이 있습니다. 따라서 NAN 여부는 반드시 is_nan() 함수로 검사해야 합니다. 마찬가지로 무한대 값은 is_infinite(), 유한한 값인지는 is_finite() 함수로 확인하는 것이 안전합니다.