현재 위치: > 최신 기사 목록> Array_Chunk를 사용하여 시간당, 일일 및 기타 기간별 배열 데이터를 분할하십시오.

Array_Chunk를 사용하여 시간당, 일일 및 기타 기간별 배열 데이터를 분할하십시오.

M66 2025-04-26

PHP에서 array_chunk 함수는 큰 배열을 여러 개의 작은 배열로 분할 할 수 있습니다. Array_Chunk는 일반적으로 고정 된 길이의 배열로 그룹화되지만 일부 시나리오에서는 배열 (예 : 시간당, 일일 등)별로 배열을 그룹화해야 할 수도 있습니다. 이 기사는 Array_Chunk를 통해 시간마다 배열을 구현하는 방법을 소개합니다.

1. Array_Chunk 함수는 무엇입니까?

Array_chunk 는 큰 배열을 여러 개의 작은 배열로 나누는 PHP의 함수입니다. 기본 구문은 다음과 같습니다.

 array_chunk(array $array, int $size, bool $preserve_keys = false): array
  • $ 배열 : 분할 해야하는 배열.

  • $ 크기 : 작은 배열 당 최대 요소 수.

  • $ preserve_keys : 원래 배열의 키 이름을 유지할지 여부는 기본값이 false 입니다.

2. 시간마다 그룹 어레이

시간당 또는 일일 기간으로 그룹화 해야하는 타임 스탬프 배열이 있다고 가정합니다. 우리는 이것을 달성하기 위해 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
        )
)

3. 요약

Array_Chunk를 사용하면 시간마다 타임 스탬프 배열을 쉽게 그룹화 할 수 있습니다 (예 : 시간당, 매일 등). Array_Chunk는 일반적으로 요소의 수별로 그룹화하는 데 사용되지만 여기서는 날짜 () 함수를 사용하여 타임 스탬프를 필요한 기간으로 포맷 한 다음이 기간으로 그룹화합니다.