정의 및 사용법
log() 함수는 숫자의 자연로그(natural logarithm)를 계산하는 PHP 내장 함수입니다.
로그(logarithm)는 지수 함수의 역연산입니다. 예를 들어 102=100이라면 log10100=2가 됩니다. 자연로그는 오일러 수 e를 밑으로 하는 로그를 의미하며, PHP에서는 미리 정의된 상수 M_E를 통해 e의 값인 2.7182818284590452354를 확인할 수 있습니다.
예를 들어 exp(4.60517018599)=100, 즉 e4.60517018599=100이므로 loge100=4.60517018599가 됩니다.
PHP에서는 이러한 자연로그(loge)를 log() 함수 하나로 간편하게 계산할 수 있습니다.
문법(Syntax)
log ( float $arg [, float $base = M_E ] ) : float
매개변수
| 번호 | 매개변수 및 설명 |
|---|---|
| 1 | arg 로그를 계산할 대상 값 |
| 2 | base 로그의 밑(base). 기본값은 M_E이며, 생략 시 자연로그가 계산됩니다. |
반환값
PHP log() 함수는 arg에 대한 밑 base의 로그 값을 반환합니다. base를 지정하지 않으면 자연로그가 반환됩니다.
PHP 버전
이 함수는 PHP 4.x, PHP 5.x, PHP 7.x 등 모든 주요 버전에서 사용할 수 있습니다.
예제 1: 100의 자연로그 구하기
다음 예제는 100의 자연로그를 계산합니다.
<?php
$arg=100;
echo "log(" . $arg . ")=" . log($arg);
?>실행 결과:
log(100)=4.6051701859881
예제 2: 2의 자연로그와 M_LN2 상수 비교
다음 코드는 2의 자연로그를 계산하며, 그 결과는 미리 정의된 상수 M_LN2와 동일합니다.
<?php
$arg=2;
echo "log(" . $arg . ")=" . log($arg) . "\n";
echo "predefined constant M_LN2 : " . M_LN2
?>실행 결과:
log(2)=0.69314718055995 predefined constant M_LN2 : 0.69314718055995
예제 3: 밑을 지정한 로그 계산 (log₂1024)
두 번째 인수로 밑을 지정하면 해당 밑의 로그를 계산할 수 있습니다. 다음 예제는 log21024를 계산하여 10을 반환합니다.
<?php
$arg=1024;
$base=2;
echo "log(" . $arg . "," . $base . ")=" . log($arg, $base) . "\n";
?>실행 결과:
log(1024,2)=10
예제 4: log₂e와 M_LOG2E 상수 비교
마찬가지로 log2e를 계산하면 미리 정의된 상수 M_LOG2E와 같은 값이 나옵니다.
<?php
$arg=M_E;
$base=2;
echo "log(" . $arg . "," . $base . ")=" . log($arg, $base) . "\n";
echo "predefined constant M_LOG2E = ". M_LOG2E;
?>실행 결과:
log(2.718281828459,2)=1.442695040889 predefined constant M_LOG2E = 1.442695040889
참고: 관련 함수
밑이 10인 상용로그가 필요하면 전용 함수 log10()을 사용하는 것이 좋으며, 로그의 역연산인 지수 계산에는 exp() 함수를 활용할 수 있습니다.