<?php

function getTwoMaxOfArray(array $array) {
    $arrCount = count($array);
    if ($arrCount < 3) {
        return $array;
    }

    $firstMax = $array[0];
    $secondMax = $array[0];
    for ($i = 1; $i < $arrCount; $i++) {
        if ($array[$i] === $firstMax || $array[$i] === $secondMax) {
            continue;
        }
        if ($array[$i] > $firstMax) {
            $secondMax = $firstMax;
            $firstMax = $array[$i];
        } elseif ($array[$i] > $secondMax || $secondMax === $firstMax) {
            $secondMax = $array[$i];
        }
    }
    
    return [$firstMax, $secondMax];
}

assert([] === getTwoMaxOfArray([]));
assert([1] === getTwoMaxOfArray([1]));
assert([2, 1] === getTwoMaxOfArray([2, 1]));
assert([4, 3] === getTwoMaxOfArray([2, 3, 4]));
assert([3, 2] === getTwoMaxOfArray([1, 2, 2, 2, 3, 3]));
assert([3, 1] === getTwoMaxOfArray([1, 1, 1, 3, 3]));
assert([3, 2] === getTwoMaxOfArray([3, 3, 3, 2, 2, 1, 1, 1]));
assert([3, 2] === getTwoMaxOfArray([3, 3, 3, 2]));
assert([3, 2] === getTwoMaxOfArray([3, 2, 1]));
assert([3, 2] === getTwoMaxOfArray([1, 2, 3]));

