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
Nog geen reacties.