Php самое большое значение

Находим наибольшее и наименьшее значение массива на PHP/JavaScript

Массивы – одно из удобных структурированных способов хранения информации. Каждый элемент такого массива имеет свое место, свой ключ и значение. Содержание же массивов может быть разным, как, например, база номеров, названий или же простых числовых значений. Говоря о числе, перед нами могут вставать разного рода задачи, например, вывод максимального или минимального значения. О том, как это решается на разных языках программирования, сегодня и пойдет речь.

Находим наибольшее и наименьшее значение одномерного массива на PHP

Все массивы различаются по своей структуре. Рассмотрим два простых одномерных массива, один из которых не содержит в себе ключей:

 $my_array = array(22, 24, 37, 74, 23, 2, 10);

и один, идентичный предыдущему, но уже с ключами:

 $my_array = array( 1 => 22, 2 => 24, 3 => 37, 4 => 74, 5 => 23, 6 => 2, 7 => 10 );

Постараемся вывести максимальное и минимальное значение этого массива. Для этого мы воспользуемся стандартными функциями «max» и «min» соответственно:

 echo max($my_array); // Выведем 74 echo min($my_array); // Выведем 2

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

 $my_array = array( 1 => 22, 2 => 24, 3 => 37, 4 => 74, 5 => 23, 6 => 2, 7 => 10 );

это будет выглядеть следующим образом:

 $max = array_keys($my_array, max($my_array)); $max = $max[0];// Ключ максимального значения $min = array_keys($my_array, min($my_array)); $min = $min[0]; // Ключ минимального значения echo $max; // Выведем результат максимального значения

Соответственно, ключ максимального значения – это «4», а минимального – «6».

Читайте также:  Update python in environment

Находим наибольшее и наименьшее значение многомерного массива на PHP

Многомерные массивы отличаются своей вложенностью. Например, двумерный массив будет выглядеть следующим образом без ключей:

 $my_array = array( array(22, 24, 37), array(74, 23, 2), array(10) );

И, соответственно, с некими ключами:

 $my_array = array( array( 1 => 22, 2 => 24, 3 => 37 ), array( 4 => 74, 5 => 23, 6 => 2 ), array( 7 => 10 ) );

В таком случае нахождение максимальных и минимальных значений немного затруднительно, но так же реально.

Для начала, чтобы здесь найти максимум и минимум, преобразуем массив в одномерный:

 $out_array = array(); foreach($my_array as $sub_array) { $out_array = array_merge($out_array, $sub_array); >

Конструкция работает для обоих вариантов выше. И далее, по примеру одномерного массива, выведем нужные нам данные:

 echo max($out_array); // Выведем 74 echo min($out_array); // Выведем 2

В качестве небольшого бонуса приведу пример еще одного популярного двумерного массива:

 $my_array = array( array( "id" => "1", "date" => "2018-03-19", "price" => "5", ), array ( "id" => "2", "date" => "2018-03-19", "price" => "50", ), array ( "id" => "3", "date" => "2018-03-19", "price" => "25", ) );

Под популярностью я подразумеваю не содержание, а пример его структуры. Допустим, что здесь вам необходимо сделать вывод максимального и минимального значения только ключей «price».

Первое, что вам нужно в таком случае – получить новый массив только с этими данными:

 $numbers = array_column($my_array, "price");

И дальше по примеру того же одномерного массива выводим максимум и минимум:

 echo min($numbers); // Выведем 5 echo max($numbers); // Выведем 50

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

Находим наибольшее и наименьшее значение одномерного массива на JavaScript

В отличие от PHP, в JavaScript вид массивов куда проще, и простой одномерный массив будет выглядеть следующим образом:

 var my_array = [22, 24, 37, 74, 23, 2, 10];

Индексы здесь никакие не указываются. Для того чтобы найти в этом массиве максимальное и минимальное значение, напишем две своих простеньких функции:

 function arrayMax(array) { return array.reduce(function(a, b) { return Math.max(a, b); >); > function arrayMin(array) { return array.reduce(function(a, b) { return Math.min(a, b); >); >

которые используются для нахождения нужных нам значений. Использование также простое:

 alert(arrayMax(my_array)); // Выведем 74 alert(arrayMin(my_array)); // Выведем 2

В этом случае на экран выведутся числа «2» и «74» как минимальное и максимальное значение массива.

Находим наибольшее и наименьшее значение многомерного массива на JavaScript

Многомерные массивы в JavaScript так же просты, и выглядят они следующим образом:

 var my_array = [ [22, 24, 37], [74, 23, 2], [10] ];

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

 var out_array = []; my_array.forEach(function(v) { Array.prototype.push.apply(out_array, v); >);

И с помощью объекта «Math» получим нужные нам значения:

 var min = Math.min.apply(null, out_array); // Получим 2 var max = Math.max.apply(null, out_array); // Получим 74 alert(max); // Выведем 74 на экран

На самом деле вместо объекта «Math» можно использовать наши функции, используемые в варианте с одномерным массивом, но чтобы вы понимали, что любую задачу можно решить несколькими способами – здесь я привел немного другое решение.

Ну и по традиции – небольшой бонус. Рассмотрим еще один многомерный массив с такой структурой:

 var my_array = [ ["Один", "2018-03-19", 5], ["Два", "2018-03-19", 50], ["Три", "2018-03-19", 25], ];

Как мы видим, числовые значения в каждом массиве находятся на третьем месте. Давайте напишем код и получим соответствующие значения только из этих данных:

 var min = +Infinity; var max = -Infinity; my_array.forEach(function(item) { if(+item[2] < min) { min =+ item[2]; // Ищем минимальное значение >>); my_array.forEach(function(item) { if(+item[2] > max) { max =+ item[2]; // Ищем максимальное значение > >); alert(min+" "+max); // Выводим результат на экран

На этом все. Не забывайте поддерживать проект. Впереди вас ждет много всего интересного!

Источник

Php самое большое значение

max — Возвращает наибольшее значение

Описание

Альтернативная сигнатура (не поддерживается с именованными аргументами):

Если первый и единственный параметр — массив, то max() возвратит наибольшее значение из этого массива. Если переданы хотя бы два параметра, max() вернёт наибольший из них.

Замечание:

Значения разных типов будут сравниваться в соответствии со стандартными правилами сравнения. К примеру, нечисловая строка ( string ) будет сравниваться с целым числом ( int ) так, как будто это 0 , а множество нечисловых строк ( string ) будут сравниваться алфавитно-цифровым порядком. Выбранное значение будет возвращено без конвертации типа.

Будьте осторожны при передаче аргументов разных типов, поскольку результат max() может вас удивить.

Список параметров

Любое поддающееся сравнению значение.

Любые поддающиеся сравнению значения.

Массив, содержащий значения.

Возвращаемые значения

max() вернёт значение «наибольшего» из элементов массива, в соответствии со стандартными правилами сравнения. Если несколько разнотипных значений посчитаются идентичными (например 0 и ‘abc’ ), функция вернёт первое из них.

Ошибки

Если передан пустой массив, функция max() выбрасывает ошибку ValueError .

Список изменений

Версия Описание
8.0.0 Функция max() теперь в случае возникновения ошибки выбрасывает ошибку ValueError ; ранее возвращалось значение false и выдавалась ошибка уровня E_WARNING .

Примеры

Пример #1 Пример использования max()

echo max ( 1 , 3 , 5 , 6 , 7 ); // 7
echo max (array( 2 , 4 , 5 )); // 5

// ‘hello’ будет представлено как числовое значение 0.
// Оба параметра имеют одинаковое значение, поэтому результат
// определяется порядком, в котором параметры переданы
echo max ( 0 , ‘hello’ ); // 0
echo max ( ‘hello’ , 0 ); // hello

// Здесь сравниваются -1 < 0, так что 'hello' больше
echo max ( ‘hello’ , — 1 ); // hello

// В данном случае 0 больше, чем -1, поэтому результат равен ‘hello’.
echo max (- 1 , ‘hello’ ); // hello

// При сравнении массивов, разной длины — max вернёт более длинный
$val = max (array( 2 , 2 , 2 ), array( 1 , 1 , 1 , 1 )); // array(1, 1, 1, 1)

// При сравнении массивов одинаковой длины — max будет сравнивать их поэлементно
// слева направо, в данном примере 2 == 2, но 4 < 5
$val = max (array( 2 , 4 , 8 ), array( 2 , 5 , 1 )); // array(2, 5, 1)

// Если передан массив и не массив, в результате всегда будет возвращён массив
$val = max ( ‘string’ , array( 2 , 5 , 7 ), 42 ); // array(2, 5, 7)

// Если один из аргументов NULL или булево значение, то сравнение с другими
// значениями будет происходить по правилу FALSE < TRUE, вне зависимости от того
// какого типа параметры переданы.
// В примере ниже, -10 трактуется как TRUE
$val = max (- 10 , FALSE ); // -10

// 0 всегда трактуется как FALSE, значит он «меньше чем» TRUE
$val = max ( 0 , TRUE ); // TRUE
?>

Смотрите также

  • min() — Находит наименьшее значение
  • count() — Подсчитывает количество элементов массива или Countable объекте

User Contributed Notes 19 notes

The simplest way to get around the fact that max() won’t give the key is array_search:

$student_grades = array ( «john» => 100 , «sarah» => 90 , «anne» => 100 );
$top_student = array_search ( max ( $student_grades ), $student_grades ); // john
?>

This could also be done with array_flip, though overwriting will mean that it gets the last max value rather than the first:

$grades_index = array_flip ( $student_grades );
$top_student = $grades_index [ max ( $student_grades )]; // anne
?>

To get all the max value keys:

$top_students = array_keys ( $student_grades , max ( $student_grades )); // john, anne
?>

echo max ( 0 , ‘hello’ );
?>

Before PHP 8.0 will return int(0) but since PHP 8.0 above code returns string(«hello»)!!

max() (and min()) on DateTime objects compares them like dates (with timezone info) and returns DateTime object.
$dt1 = new DateTime ( ‘2014-05-07 18:53’ , new DateTimeZone ( ‘Europe/Kiev’ ));
$dt2 = new DateTime ( ‘2014-05-07 16:53’ , new DateTimeZone ( ‘UTC’ ));
echo max ( $dt1 , $dt2 )-> format ( DateTime :: RFC3339 ) . PHP_EOL ; // 2014-05-07T16:53:00+00:00
echo min ( $dt1 , $dt2 )-> format ( DateTime :: RFC3339 ) . PHP_EOL ; // 2014-05-07T18:53:00+03:00
?>

It works at least 5.3.3-7+squeeze17

Note that max() can compare dates, so if you write something like this:

$dates = array( ‘2009-02-15’ , ‘2009-03-15’ );
echo max ( $dates );
?>

you will get: 2009-03-15.

Источник

max — Возвращает наибольшее значение

Если в качестве единственного аргумента передан массив, max() вернет значение наибольшее значение из этого массива. Если передано 2 или более аргумента, функция max() вернет наибольший из них.

Замечание:

Значения разных типов сравниваются с использованием стандартных правил сравнения. Например, не числовая строка ( string ) будет сравниваться с целым числом ( integer ) как будто она равна 0, но несколько строк ( string ) будут сравниваться по алфавиту. Возвращаемое значение сохранит первоначальный тип переменной, без преобразования.

Список параметров

Любое поддающееся сравнению значение.

Любое поддающееся сравнению значение.

Любое поддающееся сравнению значение.

Возвращаемые значения

Функция max() возвращает значение того параметра, который считается «самым большим» согласно стандартным правилам сравнения. Если несколько значений разного типа равны между собой (т.е. 0 и ‘abc’), то будет возвращен первый из них.

Примеры

Пример #1 Пример использования max()

echo max ( 2 , 3 , 1 , 6 , 7 ); // 7
echo max (array( 2 , 4 , 5 )); // 5

// Строка ‘hello’, при сравнении с int, рассматривается как 0
// Так как оба значения равны, то порядок параметров определяет результат
echo max ( 0 , ‘hello’ ); // 0
echo max ( ‘hello’ , 0 ); // hello

// При сравнении массивов разной длины, max вернет более длинный
$val = max (array( 2 , 2 , 2 ), array( 1 , 1 , 1 , 1 )); // array(1, 1, 1, 1)

// Несколько массивов одинаковой длины сравниваются слева направо
// для этого примера: 2 == 2, но 5 > 4
$val = max (array( 2 , 4 , 8 ), array( 2 , 5 , 1 )); // array(2, 5, 1)

// Если сравниваются массив и не-массив, то массив всегда будет возвращен
// так как массивы считаются большими чем все остальные значения
$val = max ( ‘string’ , array( 2 , 5 , 7 ), 42 ); // array(2, 5, 7)

// Если один аргумент является NULL или булевым, то он будет сравниваться с остальными
// с использованием правило FALSE < TRUE, учитывая остальные типы аргументов
// В приведенном примере -10 рассматривается как TRUE
$val = max (- 10 , FALSE ); // -10
$val = max (- 10 , FALSE ); // -10

// с другой стороны, 0 рассматривается как FALSE, поэтому это «меньше» чем TRUE
$val = max ( 0 , TRUE ); // TRUE
?>

Смотрите также

  • min() — Находит наименьшее значение
  • count() — Подсчитывает количество элементов массива или что-то в объекте

Источник

Оцените статью