반응형
안녕하세요 토스트데브입니다.
이전 글에서 PHP의 기본적인 수학 함수(반올림, 난수, 최댓값 등)를 다뤘다면, 이번 글에서는 조금 더 확장된 삼각함수, 로그, 지수 함수, 그리고 기타 수학 함수에 대해 알아보겠습니다.
PHP에는 수학 계산에 특화된 함수들이 내장되어 있으며, 복잡한 수학 연산도 간단하게 처리할 수 있습니다.
📐 삼각함수 관련 함수
PHP는 라디안(radian)을 기준으로 삼각함수를 계산합니다.
✅ sin() – 사인 함수
echo sin(M_PI / 2); // 출력: 1
✅ cos() – 코사인 함수
echo cos(0); // 출력: 1
✅ tan() – 탄젠트 함수
echo tan(M_PI / 4); // 출력: 1
📌 M_PI는 PHP에서 제공하는 파이(π) 상수입니다. (M_PI ≒ 3.141592...)
✅ 각도 <-> 라디안 변환 함수
- deg2rad($deg) : 도(degree)를 라디안으로 변환
- rad2deg($rad) : 라디안을 도(degree)로 변환
echo deg2rad(180); // 출력: 3.141592...
echo rad2deg(M_PI); // 출력: 180
📈 지수 및 로그 함수
✅ pow() – 거듭제곱
echo pow(2, 3); // 출력: 8
✅ sqrt() – 제곱근
echo sqrt(16); // 출력: 4
✅ exp() – e의 거듭제곱 (지수 함수)
echo exp(1); // 출력: 2.7182818...
✅ log() – 자연로그(ln), 또는 밑 변경 가능
echo log(8); // 출력: ln(8)
echo log(8, 2); // 출력: log2(8) = 3
log($num, $base) 형태로 사용하면 밑이 base인 로그도 계산 가능
🧮 기타 유용한 수학 함수
✅ abs() – 절댓값
echo abs(-10); // 출력: 10
✅ fmod() – 나머지(실수 기준)
echo fmod(7.5, 2); // 출력: 1.5
✅ intdiv() – 정수 나눗셈
echo intdiv(7, 2); // 출력: 3
✅ bindec(), decbin() – 2진수 ↔ 10진수 변환
echo bindec("1010"); // 출력: 10
echo decbin(10); // 출력: 1010
✅ base_convert() – 다양한 진법 간 변환
echo base_convert("1a", 16, 10); // 16진수 1a → 10진수 → 출력: 26
💡 실전 팁
- 삼각함수 계산 시 도 단위가 아닌 라디안 단위 사용에 주의
- log() 함수는 기본적으로 자연로그(ln) 계산이며, 밑을 지정할 수 있는 이점이 있음
- intdiv()는 PHP 7.0 이상에서만 사용 가능하므로 버전 호환 주의
✅ 마무리
이번 글에서는 PHP의 고급 수학 함수들을 정리해보았습니다.
삼각함수, 로그/지수 함수, 절댓값, 진법 변환 등은 복잡해 보일 수 있지만, PHP에서는 내장 함수를 통해 아주 간단하게 사용할 수 있어요.
이제 수학적 로직이 필요한 기능도 두려워하지 마세요!
#PHP, #수학함수, #삼각함수, #로그함수, #지수함수, #abs, #sqrt, #log, #pow, #fmod, #PHP기초, #웹개발
반응형
'Programming > PHP' 카테고리의 다른 글
[PHP] #32 PHP DateTime 클래스 완전 정복: 날짜 계산, 차이, 포맷 변경까지 (4) | 2025.09.05 |
---|---|
[PHP] #31 PHP 날짜/시간 함수 완벽 정리: date, time, strtotime, mktime 총정리 (2) | 2025.09.04 |
[PHP] #29 PHP 수학함수, PHP 수학 함수 총정리: 반올림, 난수, 최소/최대값까지 한 번에! (2) | 2025.09.02 |
[PHP] #28 PHP 배열, PHP 배열 병합, 중복 제거, 슬라이싱 (0) | 2025.08.19 |
[PHP] #27 PHP 배열, PHP 배열 필터링과 검색 (1) | 2025.08.16 |