Нахождение элемента массива с наибольшим или наименьшим значением

Задача
Есть массив элементов, и необходимо найти элемент с наибольшим или наименьшим значением. Например, нужно определить соответствующий масштаб при создании гистограммы.

Решение
Для нахождения наибольшего элемента используйте функцию max():
$largest = max($array);

Для нахождения наименьшего элемента используйте функцию min():
$smallest = min($array);

Обсуждение
Обычно функция max() возвращает наибольший из двух элементов, но если ей передается массив, то она осуществляет поиск среди элементов массива. К сожалению, при использовании функции max() нельзя узнать индекс наибольшего элемента. Чтобы это делать, необходимо отсортировать массив в порядке убывания, поместив наибольший элемент в нулевую позицию:

arsort($array);

Теперь значение наибольшего элемента находится в $array[0].

Если не хотите затрагивать порядок исходного массива, то сделайте
копию и отсортируйте ее:

$copy = $array;
arsort($copy);

Та же идея применима и к функции min(), но вместо функции arsort() используйте функцию asort().

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Добавление одного массива к другому
Изменение длины массива
Инициализация массива диапазоном
Инициализация массива диапазоном целых чисел
Нахождение всех перестановок массива

Вернуться в раздел: PHP / 4. Массивы