private function makeArrDateData ($dateVal, $interval, $makeKey, $time) {
$i = 0;
if ($interval == "month") {
while ($i < $dateVal) {
$dateTime = date("Ym",strtotime("-".$i." ".$interval, strtotime($time)));
$dataArrSum[$i][$makeKey] = $dateTime;
$i += 1;
}
} else {
while ($i < $dateVal) {
$dateTime = date("Ymd",strtotime("-".$i." ".$interval, strtotime($time)));
$dataArrSum[$i][$makeKey] = $dateTime;
$i += 1;
}
}
return $dataArrSum;
}
개발스토리
날짜를 기준으로 뿌려줘야하는데 데이터를 들고와보니 데이터가 날짜별로 모두 채워져있다면 좋았겠지만 데이터가 들쭉날쭉했다 여러테이블에서 가져오다보니 쿼리문도 여러개가 나가서 여러개의 데이터를 합쳐야하는 상황이었다 그나마 데이터가 잘 들어간 데이터를 기준으로 합치려고 시도했지만 만약 이데이터중 하나라도 빠져있는데 다른 데이터는 데이터가 있다면 해당날짜의 데이터가 누락되는 대참사가 벌어진다..
결국 열심히 쓴 코드는 과감하게 버리고 날짜가 온전히 다들어간 연관배열이 필요했다.
해당 함수는 원하는 길이만큼 $dateVal에 int형을 주고
$interval 에 날짜간의 간격을 지정해주면된다 일일데이터의 경우 day를 주간의 경우 week를
$makeKey 에 지정하고싶은 연관배열의 이름을 주면된다
$time에는 처음 시작할 날짜형식을 주면된다 나는 날짜형식을 20200510으로 주었다
'코딩 공부 > PHP' 카테고리의 다른 글
[PHP] - 날짜 기준으로 연관배열 합치기 -2. 연관배열 합치기 (0) | 2022.05.10 |
---|---|
[php] - 전화번호 하이픈 추가 (0) | 2022.02.28 |
php 리다이렉트 (0) | 2022.01.07 |
PHP 문자열 속에 변수쓰기 (0) | 2022.01.06 |
PHP array_slice 사용법 (0) | 2021.12.28 |