2차원배열 중복 질문드립니다.
본문
현재 2차원배열안에 중복값이 있어. 중복값의sum을 구하고싶습니다.
예를들어 현재 배열안에는
Array
(
[0] => Array
(
[알사탕] => 1
)
[1] => Array
(
[호박사탕] => 1
)
[2] => Array
(
[껌] => 15
)
[3] => Array
(
[알사탕] => 2
)
[4] => Array
(
[껌] => 2
)
)
요렇게 있을경우에 중복의 합을구해서
Array
(
[0] => Array
(
[알사탕] => 3
)
[1] => Array
(
[호박사탕] => 1
)
[2] => Array
(
[껌] => 17
)
)
요런식으로 나오게 할순없을까요?
for($j=0; $row2 = mysql_fetch_array($result2); $j++)
{
$aaaa[$j][$row2[it_name]] = $row2[ct_qty]; //이렇게 값넣고있습니다.
}
답변 2
$arr = [
["알사탕" => 1],
["호박사탕" => 1],
["껌" => 15],
["알사탕" => 2],
["껌" => 2]
];
array_walk_recursive($arr, function($item, $key) use (&$sum) {
$sum[$key] = isset($sum[$key]) ? $item + $sum[$key] : $item;
});
print_r($sum);
$aaaa = array( 0=>array('알사탕'=>1), 1=>array('호박사탕'=>3), 2=>array('껌'=>15), 3=>array('알사탕'=>5), ); $sum_qty_array = array(); foreach ($aaaa as $item){ foreach ($item as $name=>$qty){ if(!isset($sum_qty_array[$name])){ $sum_qty_array[$name] = $qty; }else{ $sum_qty_array[$name] += $qty; } } } $sum_qty_sort_array = array(); // 원하시는 결과는 이 배열에 담깁니다. foreach ($sum_qty_array as $key=>$val){ $sum_qty_sort_array[] = array($key=>$val); } print_r($sum_qty_sort_array);
의식의 흐름대로 코딩해봤어요.
답변을 작성하시기 전에 로그인 해주세요.