Scripts
average()
Naast max(), min(), array_sum() is er geen average() (oftewel array_average()) om het gemiddelde te berekenen. Met deze functie heb je die wel. Het kan korter, maar er moet natuurlijk wel een controle zijn. Die is hierbij ingebouwd.
average
<?php
// function average() == gemiddelde
function average()
{
// variabelen instellen
$getallen = Array();
// alle argumenten die opgegeven zijn tot 1 array combineren
$argumenten = func_get_args();
// alle argumenten aflopen
foreach($argumenten as $argument)
{
// als het opgegeven argument een array is
if(is_array($argument))
{
$array = $argument;
foreach($array as $value)
{
if(is_numeric($value))
{
$getallen[] = $value;
}
}
unset($array);
}
// als het opgegeven argument geen array, maar wel een numeriek argument is
if(is_numeric($argument))
{
$getallen[] = $argument;
}
}
// controleer op er een array is gegeven
if(count($getallen) == 0)
{
return false;
}
// bereken gemiddelde (som / aantal)
return array_sum($getallen) / count($getallen);
}
// testen
$array1 = array(21, 6, 4, 8, 3, 4, 3.5, 9.25, 10, 8.182213124);
$array2 = array(1, 2, 3, 4, 5, 6, 7, 8);
$array3 = array(0.0001, 0.0002, 0.03001);
$int1 = 1000;
$int2 = 8282.83;
echo "<h2>Arraya:</h2>";
echo "<pre>";
echo "<br>";
print_r($array1);
echo "<br>";
print_r($array2);
echo "<br>";
print_r($array3);
echo "<br>";
print_r($int1);
echo "<br>";
print_r($int2);
echo "</pre>";
echo "<br>";
echo "<h2>Gemiddelde</h2>";
echo average($array1, $array2, $array3, $int1, $int2);
echo "<br>";
?>
Opmerkingen voor verbeteringen zijn uiteraard welkom.
Reacties
0