PHP에서 array_chunk 함수는 큰 배열을 여러 개의 작은 배열로 분할 할 수 있습니다. Array_Chunk는 일반적으로 고정 된 길이의 배열로 그룹화되지만 일부 시나리오에서는 배열 (예 : 시간당, 일일 등)별로 배열을 그룹화해야 할 수도 있습니다. 이 기사는 Array_Chunk를 통해 시간마다 배열을 구현하는 방법을 소개합니다.
Array_chunk 는 큰 배열을 여러 개의 작은 배열로 나누는 PHP의 함수입니다. 기본 구문은 다음과 같습니다.
array_chunk(array $array, int $size, bool $preserve_keys = false): array
$ 배열 : 분할 해야하는 배열.
$ 크기 : 작은 배열 당 최대 요소 수.
$ preserve_keys : 원래 배열의 키 이름을 유지할지 여부는 기본값이 false 입니다.
시간당 또는 일일 기간으로 그룹화 해야하는 타임 스탬프 배열이 있다고 가정합니다. 우리는 이것을 달성하기 위해 array_chunk를 사용할 수 있습니다.
먼저 타임 스탬프 배열을 만들어 시간마다 그룹화 할 수 있습니다. 우리가해야 할 일은 타임 스탬프를 한 시간으로 변환하고 동일한 시간의 타임 스탬프를 그룹으로 그룹화하는 것입니다.
// 타임 스탬프 배열을 시뮬레이션합니다
$timestamps = [
1617763200, // 2021-04-07 00:00:00
1617766800, // 2021-04-07 01:00:00
1617770400, // 2021-04-07 02:00:00
1617802800, // 2021-04-07 06:00:00
1617806400, // 2021-04-07 07:00:00
1617810000, // 2021-04-07 08:00:00
1617813600 // 2021-04-07 09:00:00
];
// 시간마다 그룹 타임 스탬프
$groupedByHour = [];
foreach ($timestamps as $timestamp) {
$hour = date('Y-m-d H', $timestamp); // 시간마다 타임 스탬프를 포맷하십시오
$groupedByHour[$hour][] = $timestamp;
}
// 시간별로 그룹화 된 배열을 출력하십시오
print_r($groupedByHour);
위의 코드는 각 타임 스탬프의 시간 부분에 따라 타임 스탬프를 그룹화하며 출력 배열은 다음과 같은 시간별로 그룹화됩니다.
Array
(
[2021-04-07 00] => Array
(
[0] => 1617763200
)
[2021-04-07 01] => Array
(
[0] => 1617766800
)
[2021-04-07 02] => Array
(
[0] => 1617770400
)
[2021-04-07 06] => Array
(
[0] => 1617802800
)
[2021-04-07 07] => Array
(
[0] => 1617806400
)
[2021-04-07 08] => Array
(
[0] => 1617810000
)
[2021-04-07 09] => Array
(
[0] => 1617813600
)
)
우리는 또한 매일 타임 스탬프를 그룹화 할 수 있으므로 각 그룹에는 하루에 모든 타임 스탬프가 포함됩니다.
// 하루 종일 그룹 타임 스탬프
$groupedByDay = [];
foreach ($timestamps as $timestamp) {
$day = date('Y-m-d', $timestamp); // 하루 종일 타임 스탬프를 형식화하십시오
$groupedByDay[$day][] = $timestamp;
}
// 출력 배열은 낮에 그룹화되었습니다
print_r($groupedByDay);
출력 결과는 며칠 씩 그룹화됩니다.
Array
(
[2021-04-07] => Array
(
[0] => 1617763200
[1] => 1617766800
[2] => 1617770400
[3] => 1617802800
[4] => 1617806400
[5] => 1617810000
[6] => 1617813600
)
)
Array_Chunk를 사용하면 시간마다 타임 스탬프 배열을 쉽게 그룹화 할 수 있습니다 (예 : 시간당, 매일 등). Array_Chunk는 일반적으로 요소의 수별로 그룹화하는 데 사용되지만 여기서는 날짜 () 함수를 사용하여 타임 스탬프를 필요한 기간으로 포맷 한 다음이 기간으로 그룹화합니다.