배열 값이 같을 경우
본문
안녕하세요. $prdArr 배열변수에 아래와 같은 배열이 존재 하는데 prd_group 의 값이 같을경우 같은 prd_group의 prd_cnt 수 를 합치고 배열을 하나로 만들수있는 방법이 있을까요???ARRAY ( [prd_type] => test [prd_data] => ARRAY ( [1] => ARRAY ( [prd_group] => A [prd_cnt] => 10 ) [2] => ARRAY ( [prd_group] => A [prd_cnt] => 5 ) [3] => ARRAY ( [prd_group] => B [prd_cnt] => 10 ) [4] => ARRAY ( [prd_group] => C [prd_cnt] => 10 ) [5] => ARRAY ( [prd_group] => C [prd_cnt] => 50 ) ) ) #원하는 결과물입니다. [1] => ARRAY( [prd_group] => A [prd_cnt] => 15 ) [2] => ARRAY( [prd_group] => B [prd_cnt] => 10 ) [3] => ARRAY( [prd_group] => C [prd_cnt] => 60 )
감사합니다.
답변 2
$prd_data = [
["prd_group" => "A", "prd_cnt" => "10"],
["prd_group" => "A", "prd_cnt" => "5"],
["prd_group" => "B", "prd_cnt" => "10"],
["prd_group" => "C", "prd_cnt" => "10"],
["prd_group" => "C", "prd_cnt" => "50"]
];
$result = [];
foreach($prd_data as $v){
$key = $v["prd_group"];
if(isset($result[$key]))
$result[$key]["prd_cnt"] += $v["prd_cnt"];
else
$result[$key] = $v;
}
$result = array_values($result);
print_r($result);
해당 변수를 가져와서 다시 변수를 재 편성작업해 적용해 주셔야 하는 부분입니다.
답변을 작성하시기 전에 로그인 해주세요.