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]   

> Описание: как сделать в цикле
alexvb
Отправлено: 13 Сентября, 2014 - 18:10:20
Post Id


Новичок


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


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




Господа, ворос!
Есть массив:
Array
(
[0] => Array
(
[d1] => 100
[n] => 1
)

[1] => Array
(
[k] => 200
[n] => 5
)
[1] => Array
(
[d3] => 100
[n] => 4
)
)
Вывожу сумму n при одинаковых значениях ключа
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach( $array as $v ) {
  3.         switch ($v['d1']) {
  4.                 case "100" : { $arr['k100'] += $v['n']; } break;
  5.                 case "200" : { $arr['k200'] += $v['n']; } break;
  6.                 case "300" : { $arr['k300'] += $v['n']; } break;       
  7.         }
  8.         switch ($v['d2']) {
  9.                 case "100" : { $arr['k100'] += $v['n']; } break;
  10.                 case "200" : { $arr['k200'] += $v['n']; } break;
  11.                 case "300" : { $arr['k300'] += $v['n']; } break;       
  12.         }
  13.         switch ($v['d3']) {
  14.                 case "100" : { $arr['k100'] += $v['n']; } break;
  15.                 case "200" : { $arr['k200'] += $v['n']; } break;
  16.                 case "300" : { $arr['k300'] += $v['n']; } break;       
  17.         }
  18. }
  19.  

Каким способом switch загнать в функцию или цикл?
 
 Top
dcc0
Отправлено: 13 Сентября, 2014 - 19:39:17
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




Честно говоря, сложно понять, что вы хотите сделать?

(Отредактировано автором: 13 Сентября, 2014 - 21:05:12)



-----
Март 2021. Бросил программирование
 
 Top
alexvb
Отправлено: 13 Сентября, 2014 - 20:20:57
Post Id


Новичок


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


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




Уточню. Есть двумерный ассоциативный массив
Array
(
[0] => Array
(
[d1] => 100
[n] => 1
)

[1] => Array
(
[k] => 200
[n] => 5
)
[2] => Array
(
[d3] => 100
[n] => 4
)
[3] => Array
(
[d1] => 100
[n] => 2
))

Нужно суммировать все значения по n, где d1, d2, d3 равны 100, d1, d2, d3 равны 200, .... Причем во вложенных массивах могут все 3 компонента встречатсья вместе
Array
(
[0] => Array
(
[d1] => 100
[d2] => 100
[d3] => 100
[n] =>8
)
(Добавление)
Вопрос решен. Всем спасибо!

(Отредактировано автором: 13 Сентября, 2014 - 20:52:03)

 
 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