날짜가 같은 값을 가져오려면? 채택완료
bb1 배열은 아래와 같습니다.
$bb1 = [
['2022-05-16', 123],
['2022-05-02', 233],
['2022-05-02', 333],
['2022-05-02', 433],
['2022-05-02', 533],
['2022-05-02', 633],
['2022-05-02', 733],
['2022-05-02', 833],
['2022-05-02', 933],
['2022-05-02', 191],
['2022-05-03', 192],
['2022-05-03', 193],
['2022-05-02', 194],
['2022-05-03', 195],
['2022-05-02', 196],
['2022-05-02', 197]
];
결과는 아래처럼 나오게 하고 싶습니다.
2022-05-16 = 123
2022-05-02 = 233, 333, 433, 533, 633, 733, 833, 933, 191, 194, 196, 197
2022-05-03 = 192, 193, 195
이렇게 나오게 하고 싶습니다
어떻게 해야할까요?
답변 2개
</p>
<p>$bb1 = [
['2022-05-16', 123],
['2022-05-02', 233],
['2022-05-02', 333],
['2022-05-02', 433],
['2022-05-02', 533],
['2022-05-02', 633],
['2022-05-02', 733],
['2022-05-02', 833],
['2022-05-02', 933],
['2022-05-02', 191],
['2022-05-03', 192],
['2022-05-03', 193],
['2022-05-02', 194],
['2022-05-03', 195],
['2022-05-02', 196],
['2022-05-02', 197]
];</p>
<p>$arr = array();
foreach ($bb1 as $key => $val) {
$arr[$val[0]][] = $val[1];
}</p>
<p>foreach ($arr as $key => $val) {
$val_implode = implode(',', $val);
echo $key." = ".$val_implode."
";
}
</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 4개
날짜가 나오는 항목은 계산된 항목이라 테이블의 항목이 존재하지 않습니다.
첫번째 배열을 예로 든다면 ['2022-04-26', 187, 0, 8942]
되어있는 배열은 첫번째 항목은 계산된 값, 두번재, 세번째, 네번째값은 db 에 있는 값들입니다.
첫번째 항목과 두번째, 세번째 항목을 group by로 하면 될것 같은데
말씀드렸듯이 첫번째항목은 계산 값이라 group by 를 할수 없다고 생각해서 배열로 만들어서 처리하려고 했던 것입니다.
혹시 계산된 값을 사용하여 db에서 group by를 할수 있는 방법이 있을까요?
제가 사용하는 db는 mysql(maria db)입니다.
첫번째항목만제외하면 모든항목은 하나의 테이블에서 가져올수 있습니다
select 해서
실제 데이터를 보여 주시면 좋겠습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
['2022-04-26', 187, 0, 8942],
['2022-04-21', 187, 0, 8800],
['2022-04-21', 187, 0, 8801],
['2022-04-21', 0, 22, 8798],
['2022-04-30', 0, 81, 4852],
['2022-04-30', 0, 81, 4851],
['2022-04-03', 0, 13, 2145],
['2022-04-29', 0, 14, 2136]
];
결과는
2022-04-26, 187, 0 = 8942
2022-04-21, 187, 0 = 8800, 8801
2022-04-21, 0, 22 = 87998
2022-04-30', 0, 81 = 4852, 4851
2022-04-03', 0, 1 = 2145
2022-04-29', 0, 14 = 2136
이렇게 나오려면 어떻게 해야할까요?