I have a array and i need to get the average of all the EVEN numbers in the array i already have tried this but it still doesn't work.
$aReeks = array(23,245,1,2,12,-10,46,6,66,9999,-55,348,56,6,66,983);
for ($q = 0; $q < count($aReeks); $q++)
{
{
if ($aReeks[$q] % 2 == 0)
$totaaleven = array_sum($aReeks[$q]) / count($aReeks[$q]);
}
}
echo $totaaleven
I think this should work for you
$aReeks = array(23,245,1,2,12,-10,46,6,66,9999,-55,348,56,6,66,983);
$evenSum = 0;
$evenCount = 0;
foreach($aReeks as $number) {
if($number % 2 == 0) {
$evenSum = $evenSum + $number;
$evenCount++;
}
}
$average = $evenSum / $evenCount;
You can filter your array using array_filter
for even number, and simply divide sum with count, see below:
$aReeks = array(23,245,1,2,12,-10,46,6,66,9999,-55,348,56,6,66,983);
$evenNos = array_filter($aReeks, function($value) {
return !($value%2);
});
echo array_sum($evenNos)/count($evenNos);