Помогите с переборкой вложенных массивов в PHP

DmitryShustov
На сайте с 27.11.2004
Offline
259
984

Уже череп ломит от ума...

Есть массив вида:


Array
(
[1] => Array
(
[name] => Black And White LS-502
[id] => 3379
[quality] => 695652173913
)

[2] => Array
(
[name] => Black And White LS-1002
[id] => 3377
[quality] => 680851063830
)

...........
)

Совпадения name могут встречаться в этом массиве.

Мне надо перебрать этот массив и в случае нахождения совпадений name надо суммировать их quality.

Т.е. на выходе надо получить один массив с уникальными name и со сложенными quality.

Скажу спасибо за помощь в адекватных задачке размерах. * ну прогуливал я массивы в школе :)

Shtogrin
На сайте с 02.11.2006
Offline
95
#1

С такими значениями quality могут быть проблемы с суммированием. См. длину int в PHP.

$a - in

$b - out


foreach($a as $k=>$v)
{
if(empty($b[$v['name']])
$b[$v['name']]=$v;
else
$b[$v['name']]['quality']+=$v['quality'];
}
www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
DmitryShustov
На сайте с 27.11.2004
Offline
259
#2

Спасибо.

if(empty($b[$v['name']]) - скобочку в конце забыли )))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий