PHP 8.4.0 RC4 available for testing

stats_harmonic_mean

(PECL stats >= 1.0.0)

stats_harmonic_meanReturns the harmonic mean of an array of values

Description

stats_harmonic_mean(array $a): number

Returns the harmonic mean of the values in a.

Parameters

a

The input array

Return Values

Returns the harmonic mean of the values in a, or false if a is empty or is not an array.

add a note

User Contributed Notes 1 note

up
5
Daniel Morris (www.danielxmorris.com)
16 years ago
I wrote this to calculate harmonic averages in my shares program. Hopefully this can help someone who doesn't want to use PECL. The function accepts an unlimited number of arguments without the need to place them into an array, which is better than the way the PECL extension handles the function.

<?php

/**
* @author Daniel Morris
*/
function harmonic () {
$num_args = func_num_args ();
for (
$i = 0; $i < $num_args; $i++) {
$sum += 1 / func_get_arg ($i);
}
return
$num_args / $sum;
}

// Tests

echo harmonic (1, 2, 3, 4, 5);
echo
harmonic (-1, 3, 4, 10293);
echo
harmonic (-1, -2, -3, -4, -5);

// 2.1897810218978
// -9.6022389365052
// -2.1897810218978

?>
To Top