Разработчику. Сборник рецептов PHP
Задавайте вопросы

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

Вернуться назад

Задача

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

Решение

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

$largest = max($array);

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

$smallest = min($array);

Обсуждение

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

arsort($array);

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

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

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

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

См. также

О сортировке массива; документацию по функции max() на http://www.php.net/max, по функции min() на http://www.php.net/min, по функции arsort() на http://www.php.net/arsort и по функции asort() на http://www.php.net/asort.

Вернуться назад

Рейтинг@Mail.ru

Яндекс.Метрика

Индекс цитирования

Рейтинг Сайтов ДОСКИ.РУ