Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск максимального значения в многомерном массиве 
:(
    Опции темы
Aleshka
Дата 2.11.2009, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 10.12.2007
Где: Харьков

Репутация: нет
Всего: нет



Есть многомерный массив 
Код

$array = array (
0=>array('name'=>'Aleksey','age'=>35),
1=>array('name'=>'Andrey','age'=>17),
2=>array('name'=>'Sergey','age'=>25),
3=>array('name'=>'Vadim','age'=>36),
4=>array('name'=>'Vadik','age'=>31),
);

Как мне из этого массива выбрать самый большой возраст, т.е необходимо получить максимальное значение из поля 'age'?
Спасибо.
PM MAIL ICQ   Вверх
capitan
Дата 2.11.2009, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 9
Всего: 13



Aleshka, Давайте начнем с простого. Как вы генерируете данный массив? Если ручками,- тогда что мешает ручками прописать 
Код

$max_age = '36';

PM MAIL WWW ICQ   Вверх
bars80080
Дата 2.11.2009, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



ну и конечно, можно почитать об usort()
PM MAIL WWW   Вверх
sdukshis
Дата 3.11.2009, 00:54 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 23.3.2009

Репутация: нет
Всего: 1



Может подойдет простой линейный поиск
Код

    function find_max_age(array $a){
        $max_age = 0;
        $max_item = -1;

        if(count($a)){
            foreach($a as $i => $item){
                if(isset($item['age'])  && ($item['age'] > $max_age)){
                    $max_age = $item['age'];
                    $max_item = $i;
                }
            }
        }
        return $max_item;
    }



Это сообщение отредактировал(а) sdukshis - 3.11.2009, 00:57
PM MAIL   Вверх
Aleshka
Дата 3.11.2009, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 10.12.2007
Где: Харьков

Репутация: нет
Всего: нет



Спасибо за ответы. Capitan, да я сформировал массив руками для примера, чтобы показать суть вопроса. 
Цитата

ну и конечно, можно почитать об usort() 
. Да,bars80080, я не подумал, чтобы отсортировать массив а затем взять самое последнее значение из отсортированного массива. 
Цитата

Может подойдет простой линейный поиск
 sdukshis,Вот к этому решению я и склоняюсь. Спасибо огромное за пример, очень пригодилось. 
Я думал, когда задавал  вопрос, может уже готов решение в php ведь возможности этого языка по работе с массивом огромные. 

Это сообщение отредактировал(а) Aleshka - 3.11.2009, 11:21
PM MAIL ICQ   Вверх
capitan
Дата 3.11.2009, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 9
Всего: 13



Aleshka, Я не зря спросил как формируется массив. Если руками, тогда можно просто пописать переменную руками. Если например из базы, то можно сделать выборку при его формировании. Зачем несколько раз его перебирать? Сначала формировать, потом искать в нем же.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.