Выбрать из массива несколько максимальных значений
Есть массив $arr = [8, 4, 12, 9,17,22, 6 ,25,27,5]; Нужно взять из этого массива 2-3 самых больших значений. Кол-во элементов массива может быть разным - формируется от другого источника, чтобы отсортировать usort не вижу вариант.Функция max берет одно максимальное значение.
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Сортируем в обратном порядке и делаем срез с первого элемента в размере 2-ух штук
$arr = [8, 4, 12, 9,17,22, 6 ,25,27,5];
rsort($arr);
$result = array_slice($arr, 0, 2);
или
sort($arr);
$result = array_slice($arr, -2);