2차원배열 중복값 합계구하기좀 도와주세요ㅠ.ㅠ

2차원배열 중복값 합계구하기좀 도와주세요ㅠ.ㅠ

QA

2차원배열 중복값 합계구하기좀 도와주세요ㅠ.ㅠ

답변 1

본문

현재 $arr배열안에 아래와 같은 값이 있습니다.

Array
(
    [field1] => Array
        (
            [20200219] => 54
            [20200218] => 96
            [20200217] => 91
            [20200216] => 49
            [20200215] => 32
            [20200214] => 29
            [20200213] => 52
            [20200212] => 64
            [20200211] => 39
            [20200210] => 65
            [20200209] => 34
            [20200208] => 33
            [20200207] => 33
            [20200206] => 25
            [20200205] => 28
            [20200204] => 53
            [20200203] => 54
            [20200202] => 25
            [20200201] => 26
        )

    [field12] => Array
        (
            [20200219] => 6
            [20200218] => 7
            [20200217] => 10
            [20200216] => 2
            [20200215] => 6
            [20200214] => 3
            [20200213] => 8
            [20200212] => 4
            [20200211] => 10
            [20200210] => 8
            [20200209] => 6
            [20200208] => 5
            [20200207] => 2
            [20200206] => 8
            [20200205] => 8
            [20200204] => 6
            [20200203] => 13
            [20200202] => 7
            [20200201] => 4
        )

    [field13] => Array
        (
            [20200214] => 1
            [20200213] => 1
            [20200204] => 1
            [20200203] => 1
            [20200201] => 1
        )
)

field1,field2,field3이란 배열안에 각각의 날짜 합을구하고싶습니다..

예를들어

 

[20200219] =>60

[20200219] =>103

요런식으로.. field1,field2,field3에 공통된날짜의 합을 구하는것입니다ㅠ

힌트좀 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 1


$temp_data = array();
foreach($arr as $k=>$v){
    foreach($v as $kk => $vv){
        if(!$temp_data [$kk]) $temp_data [$kk] = ($vv * 1);
        else $temp_data [$kk] = ($temp_data [$kk]*1  + $vv*1);
    }
}
print_r($temp_data);

디버깅 안했지만 위 코드처럼 가능할껍니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 123,715
© SIRSOFT
현재 페이지 제일 처음으로