質問: ``` class MyDateTime extends \DateTime { ~~中略~~ public function get_year() { return $this->format('Y') | 0; } public function get_month() { return $this->format('m') | 0; } ~~中略~~ } ```
回答: format()に失敗したときに Integerの`0`を返したいのでしょう。 ※追記:失敗したときだけではなく正常時もIntegerになります。 > > &、| そして ^ 演算子の左右のオペランドが文字列の場合、その演算は、 文字列を構成する文字の ASCII 値を使って行います。その結果は文字列になります。 > > それ以外の場合は、左右のオペランドを integer に変換 し、結果も integer になります。 > > > > > 成功した場合にフォーマット済みの日付文字列、失敗した場合に FALSE を返します。 > > >