Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как сделать выборку из массива?
Как вы видите, имена повторяются, но второй элемент массива (цифра - возраст) с повторяющимися именами всегда разный.
Подскажите как удалить из массива ненужные элементы, так, чтоб имена не повторялись, а из тех что повторялись, осталось Имя с максимальным возрастом. Примерно так:
if(!isset($result[$item[1]]) or $result[$item[1]][0]<$item[0]){
$result[$item[1]]=$item;
}
}
----- PostgreSQL DBA
Строитель
Отправлено: 15 Июня, 2016 - 22:09:27
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Viper пишет:
Строитель count() непосредственно в for() делать не стоит, лучше вынести перед циклом в переменную.
Ну, вроде бы всё согласно мануалу... Или вы имеете ввиду это замечание: "Вышеприведенный код может работать медленно, так как размер массива вычисляется в каждой итерации" ? Если да, то у меня оптимизированная запись, в которой count() вычисляется только один раз, в момент компиляции (а не перед каждой итерацией). (Добавление)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.