Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Sanya839
-15 / 0 / 1
Регистрация: 10.05.2012
Сообщений: 42
1

Найти макс число в многомерном массиве

14.01.2015, 15:37. Просмотров 2005. Ответов 4
Метки нет (Все метки)

Всем привет. Есть многомерный массив. Мне надо найти из него максимальное число, чтобы оно в конце выводилось. Не могу понять как правильно воспользоватся функцией max() например чтобы найти максимальное(минимальное) число из данных которые поступают в row2["meaning"].
PHP
1
2
3
4
5
6
7
8
9
10
11
12
while($row1 = mysql_fetch_array($result1)){
 
$row2 = mysql_fetch_array($result2);
 
$s1[$i]=$row1['meaning'];
$s2[$i]=$row2['meaning'];
 
printf ("%s, ",$row1["meaning"]);
 
$clk[$i]=$row1[1];
$i++;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2015, 15:37
Ответы с готовыми решениями:

Как найти элемент в многомерном массиве?
Здравствуйте, форумчане! Есть два многомерных массива. Глубина 2 и 4. Нужный элемент может...

Как в многомерном массиве найти значение ключа выше по иерархии ?
Например есть многомерный массив Array ( => Array( => а => б => в) => Array( =>...

Как найти все значения одного массива в другом многомерном массиве?
Доброго времени суток! Вообще задача сначала стояла так, но перемучившись решил сложить это бремя...

Как найти слово, в многомерном массиве. и если оно найдено то вывести его
Добрый день есть массив например "kind": "calendar#events", "etag": "\"лорлорлорлор\"", ...

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

4
Lazy_Den
3123 / 2741 / 1381
Регистрация: 15.01.2014
Сообщений: 6,039
14.01.2015, 15:49 2
Цитата Сообщение от Sanya839 Посмотреть сообщение
Есть многомерный массив.
И где этот массив?
Цитата Сообщение от Sanya839 Посмотреть сообщение
Мне надо найти из него максимальное число
Если всё-таки массив найдётся, то сделать можно так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$arr = array(
    56,
    23,
    5,
    array(
        221,
        7,
        28,
    ),
    102,
    array(
        83,
        35,
    ),
);
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
$max = max(iterator_to_array($iterator, false));
echo $max; // 221
0
Sanya839
-15 / 0 / 1
Регистрация: 10.05.2012
Сообщений: 42
14.01.2015, 16:10  [ТС] 3
Цитата Сообщение от Lazy_Den Посмотреть сообщение
И где этот массив?
Массив берется из моей бд. Собственно делаю запрос
PHP
1
2
$query1 = 'SELECT * FROM pokazanie WHERE termometr_id=1 AND time BETWEEN "'.$stime.'" AND "'.$etime.'"' ;
$result1 = mysql_query($query1) or die('Query failed: ' . mysql_error());
В массив поступают данные за определенный период такие как Дата, id датчика и температура(meaning). Вот мне как раз надо узнать максимальное число с массива по столбцу meaning.
0
Lazy_Den
3123 / 2741 / 1381
Регистрация: 15.01.2014
Сообщений: 6,039
14.01.2015, 16:42 4
Цитата Сообщение от Sanya839 Посмотреть сообщение
Вот мне как раз надо узнать максимальное число с массива по столбцу meaning
Если вам нужно только это максимальное значение, то реализовать можно и в самом запросе. Если же требуются и другие данные поле , то в цикле присваиваете переменной $max, которая изначально со значением 0, значения $row1['meaning'], что будут больше её.
PHP
1
2
3
4
5
$max = 0;
while($row1 = mysql_fetch_array($result1)){
    $row1['meaning'] > $max && $max = $row1['meaning'];     
}
echo $max;
Добавлено через 6 минут
P.S. Если предполагаются и отрицательные значения, то код немного изменяем:

PHP
1
2
3
4
5
$max = false;
while($row1 = mysql_fetch_array($result1)){
    ($row1['meaning'] > $max || !$max) && $max = $row1['meaning'];     
}
echo $max;
0
Sanya839
-15 / 0 / 1
Регистрация: 10.05.2012
Сообщений: 42
14.01.2015, 17:01  [ТС] 5
Цитата Сообщение от Lazy_Den Посмотреть сообщение
P.S. Если предполагаются и отрицательные значения, то код немного изменяем:
PHP
1
2
3
4
5
$max = false;
while($row1 = mysql_fetch_array($result1)){
* * ($row1['meaning'] > $max || !$max) && $max = $row1['meaning']; * * 
}
echo $max;
Спасибо большое! Как раз надо было чтоб и с отрицательными работало. Поиск минимального тоже отлично работает по вашему коду
0
14.01.2015, 17:01
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2015, 17:01

Замена ключей в многомерном массиве
Подскажите, не могу разобраться Есть массив, после var_dump($myarray); выглядит так: array...

Замена ключа в многомерном массиве
Здравствуйте, форумчане! Подскажите,пожалуйста, как найти в массиве все ключи name и заменить...

Сравнение элементов в многомерном массиве
Добрый день, помогите пожалуста, мозги закипают уже :wall: К примеру массив: $main_array =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.