【PHP8.x】include_start_dateプロパティの使い方

include_start_dateプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

include_start_dateプロパティは、DatePeriodオブジェクトが日付や時刻の繰り返し処理を行う際に、期間の開始日を含めるかどうかを示すブール値を保持するプロパティです。このプロパティは読み取り専用であり、オブジェクト作成後に値を変更することはできません。DatePeriodオブジェクトは、通常、指定された開始日から繰り返しを開始するため、このプロパティの値はデフォルトでtrueとなります。trueの場合、foreachなどで繰り返し処理を行うと、最初の要素として開始日が含まれます。しかし、DatePeriodのコンストラクタでオプションとしてDatePeriod::EXCLUDE_START_DATEを指定してインスタンスを作成した場合、期間の開始日は繰り返しの対象から除外されます。その結果、このプロパティの値はfalseとなり、繰り返し処理は開始日の次の日付から始まります。このプロパティを参照することで、与えられたDatePeriodオブジェクトがどのような設定で生成されたかを実行時に確認でき、日付範囲のロジックをより正確に制御することが可能になります。

構文(syntax)

1<?php
2$start    = new DateTime('2023-01-01');
3$interval = new DateInterval('P1D');
4$end      = new DateTime('2023-01-05');
5
6$datePeriod = new DatePeriod($start, $interval, $end);
7
8var_dump($datePeriod->include_start_date);

引数(parameters)

戻り値(return)

bool

DatePeriodクラスのinclude_start_dateプロパティは、DatePeriodオブジェクトが期間の開始日を含めるかどうかを示す真偽値(boolean)を返します。TRUEであれば開始日を含み、FALSEであれば含みません。

【PHP8.x】include_start_dateプロパティの使い方 | いっしー@Webエンジニア