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)); }