2.8.1 Problem
You want to take
the logarithm of a number.
2.8.2 Solution
For logs using
base
e (natural log), use
log( ):
$log = log(10); // 2.30258092994
For logs using
base
10, use
log10( ):
$log10 = log10(10); // 1
For logs using other bases, use pc_logn( ):
function pc_logn($number, $base) {
return log($number) / log($base);
}
$log2 = pc_logn(10, 2); // 3.3219280948874
2.8.3 Discussion
Both
log( ) and
log10( ) are defined only for
numbers that are greater than zero. The
pc_logn( ) function uses the change of base formula, which says that
the log of a number in base
n is equal to the log of that number,
divided by the log of
n.