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

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

作成日: 更新日:

基本的な使い方

『include_end_dateプロパティは、DatePeriodオブジェクトが表す期間の繰り返しに、終了日を含めるかどうかを示す真偽値(bool)を保持するプロパティです。DatePeriodは、ある開始日時から終了日時までを、指定された間隔で反復処理するためのオブジェクトです。このプロパティの値が true の場合、コンストラクタで指定された終了日は反復処理の対象期間に含まれます。つまり、繰り返し処理の最後の要素として、終了日時そのものが含まれる可能性があります。一方、値が false の場合は、終了日時は期間に含まれず、繰り返しは終了日時の直前で停止します。このプロパティは読み取り専用(readonly)であり、DatePeriodオブジェクトを生成した後に値を変更することはできません。値は、オブジェクト生成時のコンストラクタの第4引数($options)に DatePeriod::INCLUDE_END_DATE 定数を指定することによって設定されます。このプロパティを参照することで、DatePeriodインスタンスが終了日を含む設定で作成されたかどうかをプログラム実行中に確認することができます。』

構文(syntax)

1<?php
2
3$start = new DateTimeImmutable('2023-01-01');
4$interval = new DateInterval('P1D');
5$end = new DateTimeImmutable('2023-01-03');
6
7// 終了日を含めるオプションを指定してDatePeriodオブジェクトを生成します。
8$options = DatePeriod::INCLUDE_END_DATE;
9$period = new DatePeriod($start, $interval, $end, $options);
10
11/*
12 * public readonly bool $include_end_date;
13 *
14 * このプロパティは読み取り専用で、DatePeriodが終了日を含むように
15 * 設定されているかどうかを bool 値で示します。
16 * このプロパティは PHP 8.2.0 以降で利用可能です。
17 */
18var_dump($period->include_end_date);
19
20// 実行結果:
21// bool(true)
22
23?>

引数(parameters)

戻り値(return)

bool

このプロパティは、期間の終端の日付をDatePeriodオブジェクトに含めるかどうかを示すブール値(trueまたはfalse)を返します。

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