Programming/PHP

[PHP] #30 PHP 수학함수, PHP 수학 함수 심화편: 삼각함수부터 로그, 지수 함수까지

TOASTDEV 2025. 9. 3. 17:00
반응형

 

 

안녕하세요 토스트데브입니다.
이전 글에서 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기초, #웹개발

반응형