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 :: Найти максимальное значение в массиве и записать в другой массив

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
apsek
Отправлено: 19 Января, 2018 - 09:44:48
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Янв. 2018  


Помог: 0 раз(а)




Добрый день!

Помогите пожалуйста решить задачку:

есть массив следующего вида вида:

PHP:
скопировать код в буфер обмена
  1.        [0] => Array (
  2.                            [users] => Andrey
  3.                            [apples] => 2
  4.                            [bananas] => 1
  5.                            [oranges] => 7
  6.        [1] => Array (
  7.                            [users] => Oleg
  8.                            [apples] => 5
  9.                            [bananas] => 2
  10.                            [oranges] => 2 )
  11.        [2] => Array (
  12.                            [users] => Pavel
  13.                            [apples] => 2
  14.                            [bananas] => 8
  15.                            [oranges] => 1 )
  16. )


Надо найти среди ребят, у кого максимальное количество яблок, у кого бананов, а у кого апельсинов. И записать эти данные в другой массив, где будет задана единица (1) тому параметру, чей индекс набрал максимальное значени.
Например:

PHP:
скопировать код в буфер обмена
  1.        [0] => Array (
  2.                            [users] => Andrey
  3.                            [apples] => 0
  4.                            [bananas] => 0
  5.                            [oranges] => 1
  6.        [1] => Array (
  7.                            [users] => Oleg
  8.                            [apples] => 1
  9.                            [bananas] => 0
  10.                            [oranges] => 0 )
  11.        [2] => Array (
  12.                            [users] => Pavel
  13.                            [apples] => 0
  14.                            [bananas] => 1
  15.                            [oranges] => 0 )
  16. )


Заранее спасибо за помощь, надеюсь кто-нибудь поймёт, что я имел ввиду Растерялся

(Отредактировано автором: 19 Января, 2018 - 09:45:20)

 
 Top
andrewkard
Отправлено: 19 Января, 2018 - 13:35:25
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




http://php.net/manual/ru/function.usort.php
PHP:
скопировать код в буфер обмена
  1.  
  2. function cmp($a, $b)
  3. {
  4.     if ($a == $b) {
  5.         return 0;
  6.     }
  7.     return ($a < $b) ? -1 : 1;
  8. }
  9.  
  10. $a = array(3, 2, 5, 6, 1);
  11.  
  12. usort($a, "cmp");
  13.  
  14. foreach ($a as $key => $value) {
  15.     echo "$key: $value\n";
  16. }
  17.  


В Вашем случае $a и $b будут массивами вида:
apsek пишет:
[users] => Andrey
[apples] => 0
[bananas] => 0
[oranges] => 1
 
 Top
Строитель Модератор
Отправлено: 19 Января, 2018 - 16:05:05
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




apsek
Спойлер (Отобразить)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB