개발 Q&A

제목 연관배열 문제
카테고리 PHP
글쓴이 프레드윤 작성시각 2021/12/22 05:16:33
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 6354   RSS

안녕하세요!

통계를 만들려고 배열 이용해서 만들고 있는데요

우선 배열 형식이 아래처럼 있습니다.

Array
(
[1] => Array
(
[cnt] => 4
[day] => 18
)

[2] => Array
(
[cnt] => 4
[day] => 19
)
)

 

여기서 1~ 20 까지 in_array 함수 써서 하는데 문제가 있어서요

 

$re_data = [];
        for($i=1;$i<=20;$i++) {
            if(!in_array($data[$k+1]['day'], $re_data))
            {
                $re_data[$i] = $data[$k+1]['cnt'];
            }
        }

 

위에 처럼 했더니 아래 결과로 나옵니다.

 

Array
(
    [1] => 4
    [2] => 4
    [3] => 4
    [4] => 4
    [5] => 4
    [6] => 4
    [7] => 4
    [8] => 4
    [9] => 4
    [10] => 4
    [11] => 4
    [12] => 4
    [13] => 4
    [14] => 4
    [15] => 4
    [16] => 4
    [17] => 4
    [18] => 4
    [19] => 4
    [20] => 4
)

 

 

여기서 연관된 배열은 키 19 부터 20까지에서 cnt 표시 되어야하는데 

어떻게 고쳐야될까요?

 

 

 

 

 

 다음글 Session에서 발생되는 ini_set(): A se... (3)
 이전글 클라이언트단에서 이미지 리사이징 후에 업로드에 대해서 (2)

댓글

변종원(웅파) / 2021/12/22 07:41:04 / 추천 0

$data[$k+1]['day'] 와 $re_data 형식이 안 맞아서 당연히 없다고 나옵니다.

in_array 매뉴얼 다시 보세요. $re_data는 [1,2,3] 형식이어야 합니다.

프레드윤 / 2021/12/22 17:11:58 / 추천 0
@변종원 감사합니다~ 다시 한번 연구해서 해볼게요 
프레드윤 / 2021/12/22 21:53:54 / 추천 0

자답입니다  아래 소스코드 처럼 했더니 아주 잘 되요! ㅋㅋ

if(in_array($i,$dayArr)) {