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

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

作成日: 更新日:

基本的な使い方

DatePeriodクラスのcurrentプロパティは、DatePeriodイテレータの現在の反復におけるDateTimeImmutableオブジェクトを保持するプロパティです。DatePeriodオブジェクトは、開始日時、終了日時、および間隔に基づいて日付と時間のシーケンスを表します。currentプロパティは、このシーケンス内の現在のDateTimeImmutableオブジェクトにアクセスするために使用されます。

具体的には、DatePeriodオブジェクトをforeachループなどで反復処理する際に、各反復においてcurrentプロパティが現在のDateTimeImmutableオブジェクトを指し示します。これにより、ループ内で現在の日付や時刻に関する情報を取得したり、操作したりすることが可能になります。

currentプロパティは直接アクセスすることはできません。反復処理を通じてのみ、その値を取得できます。つまり、$period->currentのような直接的なアクセスはエラーとなります。DatePeriodオブジェクトはイテレータとして機能するため、foreachループやiterator_to_array関数などを利用して、シーケンス内の各DateTimeImmutableオブジェクトに順番にアクセスする必要があります。

DatePeriodの反復処理が開始されると、currentプロパティは開始日時を指し示し、各反復の後に間隔に基づいて次のDateTimeImmutableオブジェクトを指し示すように更新されます。反復処理が終了日時を超えると、currentプロパティはnullを返すようになります。

currentプロパティを使用することで、特定の日付範囲における日付ごとの処理や、時刻ごとの処理などを柔軟に記述することができます。例えば、特定期間中のすべての日付をデータベースに登録したり、特定の時間間隔で発生するイベントを処理したりする際に役立ちます。

構文(syntax)

1public DateInterval|DateTime|false current ( )

引数(parameters)

戻り値(return)

DateTimeInterface|false

DatePeriod オブジェクトが現在指している期間の開始日時を表す DateTimeInterface オブジェクト、または期間が終了した場合は false を返します。