배열 값이 같을 경우

배열 값이 같을 경우

QA

배열 값이 같을 경우

본문

안녕하세요.
$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);
답변을 작성하시기 전에 로그인 해주세요.
전체 123,475 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT