PHPで日時・時間・曜日のキーを持った歯抜けのない連想配列の作成方法【DatePeriod】

date_period carbon_period php yurupro PHP
この記事は約3分で読めます。

この記事の最終更新日: 2023年2月1日

日時・時間・曜日のキーを持った、歯抜けのない連想配列の作成法(DatePeriodを使用)

<?php
$start = new DateTime('2022-01-01 00:00:00');
$end = new DateTime('2023-12-31 23:59:59');
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($start, $interval ,$end);

$data = [];
foreach($daterange as $date){
    $date = $date->format("Y-m-d");
    for ($hour=0; $hour <= 23; $hour++) { 
        $week_name = date('l', strtotime($date));
        $key = "$date-$hour-$week_name";
        $data[$key] = array(
            "date" => $date,
            "hour" => $hour,
            "week_name" => $week_name,
        );
    }
}

print_r($data);

結果

Array
(
    [0] => Array
        (
            2024/04/25 => 2023-01-01
            [hour] => 0
            [call_count] => 0
            [response_count] => 0
            [week_name] => Sunday
        )

    [1] => Array
        (
            2024/04/25 => 2023-01-01
            [hour] => 1
            [call_count] => 0
            [response_count] => 0
            [week_name] => Sunday
        )

    [2] => Array
        (
            2024/04/25 => 2023-01-01
            [hour] => 2
            [call_count] => 0
            [response_count] => 0
            [week_name] => Sunday
        )

...

コメント

タイトルとURLをコピーしました