public static function median(array $numbers)
{
self::checkArrayLength($numbers);
$count = count($numbers);
$middleIndex = floor($count / 2);
sort($numbers, SORT_NUMERIC);
$median = $numbers[$middleIndex];
if (0 == $count % 2) {
$median = ($median + $numbers[$middleIndex - 1]) / 2;
}
return $median;
}
public function testMedianOnEvenLengthArray() { $numbers = [5, 2, 6, 1, 3, 4]; $this->assertEquals(3.5, Mean::median($numbers)); }