여기 3am입니다. 나는 아주 피곤해서 어떻게 작동하는지 모릅니다. 다음 배열이 데이터베이스에서 돌아와 지난 7 일 페이지 뷰, 날짜와 메시지 등의 정보를 포함합니다 :배열 형식 및 정렬
는Array
(
[0] => Array
(
[vws] => 9
[mss] => 0
[dt] => 2016-06-27
)
[1] => Array
(
[vws] => 4
[mss] => 0
[dt] => 2016-06-26
)
[2] => Array
(
[vws] => 1
[mss] => 0
[dt] => 2016-06-24
)
[3] => Array
(
[vws] => 7
[mss] => 0
[dt] => 2016-06-23
)
)
이 배열이 더 페이지 뷰 없거나 메세지 경우에도 데이터가 포함되어야
그래서 이것은 무엇이다 내가 찾고있는 사람 :
Array
(
[0] => Array
(
[vws] => 0
[mss] => 0
[dt] => 2016-06-22
)
[1] => Array
(
[vws] => 13
[mss] => 1
[dt] => 2016-06-23
)
[2] => Array
(
[vws] => 7
[mss] => 3
[dt] => 2016-06-24
)
[3] => Array
(
[vws] => 45
[mss] => 10
[dt] => 2016-06-25
)
[4] => Array
(
[vws] => 0
[mss] => 0
[dt] => 2016-06-26
)
[5] => Array
(
[vws] => 0
[mss] => 0
[dt] => 2016-06-27
)
[6] => Array
(
[vws] => 5
[mss] => 1
[dt] => 2016-06-28
)
)
죄송합니다. 충분히 명확하지 않은 경우 죄송합니다. 더 많은 정보가 필요하면 제 질문을 업데이트 할 것입니다. 사전
편집 키로 dt
값을 사용하는 것은 좋은 생각하지만 난 여전히 같은 결과가 in_array
와 dt
값을 확인하여보다 쉽게 달성 할 수 있다고 생각하는 것 같다 에 감사드립니다. @ArtisiticPhoenix에
덕분에이 코드는 지금은 잘 작동합니다 :
$new = [];
foreach ($data as $k => $v) {
$new[$v['dt']] = $v;
}
$Date = new DateTime();
$days = [];
for ($i = 0; $i < 7; ++$i) {
$days[$Date->format('Y-m-d')] = [
'vws' => 0,
'mss' => 0,
'dt' => $Date->format('Y-m-d')
];
$Date->modify('-1 days');
}
$final = array_merge($days, $new);
하단 열에있는 데이터를 기본값으로 사용 하시겠습니까? –
지난 7 일 동안의 날짜 범위를 작성하여 배열을 준비하고 빈 배열로 전체 배열을 채운 다음 보유한 값으로 바꾸거나 값이있는 배열을 가져온 다음 마지막 7 개까지 이동할 수 있습니다 며칠 동안 누락 된 항목을 추가하십시오. 붙어있어? 현재 코드/시도를 추가하십시오. – Rizier123
지난 7 일 동안 배열에 넣으려고 시도했지만'in_array'를 루프에 넣으려고했지만 어떤 이유로 든 마지막 배열의 처음이나 끝에 배열되어 있습니다 – AnfEn