この記事の最終更新日: 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
(
2025/01/14 => 2023-01-01
[hour] => 0
[call_count] => 0
[response_count] => 0
[week_name] => Sunday
)
[1] => Array
(
2025/01/14 => 2023-01-01
[hour] => 1
[call_count] => 0
[response_count] => 0
[week_name] => Sunday
)
[2] => Array
(
2025/01/14 => 2023-01-01
[hour] => 2
[call_count] => 0
[response_count] => 0
[week_name] => Sunday
)
...
大阪のエンジニアが書いているブログ。
コメント