테스트 사이트 - 개발 중인 베타 버전입니다

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

mmkk2 5년 전 조회 2,472

현재 $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개

채택된 답변
+20 포인트
M
5년 전

</p>

<p>$temp_data = array();</p>

<p>foreach($arr as $k=>$v){</p>

<p>    foreach($v as $kk => $vv){</p>

<p>        if(!$temp_data [$kk]) $temp_data [$kk] = ($vv * 1);</p>

<p>        else $temp_data [$kk] = ($temp_data [$kk]*1  + $vv*1);</p>

<p>    }</p>

<p>}</p>

<p>print_r($temp_data);</p>

<p>

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인