php로 뽑은 2차원 배열에서 날짜 기준으로 합산데이터를 뽑고 싶습니다

php로 뽑은 2차원 배열에서 날짜 기준으로 합산데이터를 뽑고 싶습니다

QA

php로 뽑은 2차원 배열에서 날짜 기준으로 합산데이터를 뽑고 싶습니다

본문

날짜와 두 상품금액이 담긴 2차원 배열을 만들었습니다.

(게시판1과 다른게시판2 if문을 통해 신규 배열을 만들었습니다.)

 

print_r($aa) 를 출력하면


Array (
[0] => Array ( [date] => 2022-03-23 [aa] => 10000 [bb] => 1000 )
[1] => Array ( [date] => 2022-03-24 [aa] => 10000 [bb] => 1000 )
[2] => Array ( [date] => 2022-03-24 [aa] => 10000 [bb] => 1000 )
[3] => Array ( [date] => 2022-03-25 [aa] => 10000 [bb] => 1000 ) 
...
)

위에 같이 결과를 만들었습니다. ( aa와 bb의 값은 예를 들었습니다. )

 

위의 $aa 뽑아낸 뒤 에 아래와 같이 변형을 하고 싶습니다.

날짜별로 상품들의 합산을 재배열해서 $bb로 만들고 싶습니다.

제가 결과를 내고싶은 값은 아래와 같습니다.


Array (
[0] => Array ( [date] => 2022-03-23 [aa] => 10000 [bb] => 1000 )
[1] => Array ( [date] => 2022-03-24 [aa] => 20000 [bb] => 2000 )
[2] => Array ( [date] => 2022-03-25 [aa] => 10000 [bb] => 1000 ) 
...
)

날짜별 합산 을 만들고 싶은데 어떻게 짜야할까요?

제가 배열에 좀약하고 이해도가 약해서 부탁드립니다.

 

이 질문에 댓글 쓰기 :

답변 1

$arr = ~~; //데이터배열

$result = array();

foreach($arr => $row) {

  if ($result[$row['date']]) {

    $result[$row['date']]['aa'] += $row['aa'];

    $result[$row['date']]['bb'] += $row['bb'];

  } else {

    $result[$row['date']] = array();

    $result[$row['date']]['aa'] = $row['aa'];

    $result[$row['date']]['bb'] = $row['bb'];

  }

}

소스를 다시 좀 정리해봤어요 참고하세요



$arr = array(
	array('date' => '2022-03-24', 'a' => 10, 'b' => 20)
	, array('date' => '2022-03-24', 'a' => 10, 'b' => 20)
	, array('date' => '2022-03-25', 'a' => 111, 'b' => 222)
	, array('date' => '2022-03-26', 'a' => 1111, 'b' => 2222)
	, array('date' => '2022-03-26', 'a' => 1111, 'b' => 2222)
);

print_r($arr);

$result = array();

foreach($arr as $row) {
	if (isset($result[$row['date']])) {
		$result[$row['date']]['a'] += $row['a'];
		$result[$row['date']]['b'] += $row['b'];
	} else {
		$result[$row['date']] = array();
		$result[$row['date']]['a'] = $row['a'];
		$result[$row['date']]['b'] = $row['b'];
	}	
}

print_r($result);

답변을 작성하시기 전에 로그인 해주세요.
전체 13
QA 내용 검색

회원로그인

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