【PHP】西暦を簡単に配列にする

2018年8月10日
PHP

今回、案件で西暦を簡単に配列にするプログラムが必要だったので備忘録として書いておきます。

例えば誕生日を選択してもらうようなフォームを作成するときに

1900年から2018年といったセレクトボックスを用意しますが、どうすれば簡単に書けるだろうと考え、調べたところPHPではこんな書き方ができた。

$birthday_yyyy = range(1900, 2018);

これだと、1900〜2018までの固定値になってしまうので範囲を100歳として、

$to_year = date('Y'); //今年の年数
$from_year = $to_year-100; //100年前の西暦年を計算
$birthday_yyyy = range($from_year, $to_year); //100年前〜今年

こんな感じで書いてみた。

この場合、

print_r($birthday_yyyy);

で出力すると

Array (
 [0] => 1918
 [1] => 1919
 [2] => 1920
 [3] => 1921

 〜中略〜

 [98] => 2016
 [99] => 2017
 [100] => 2018 
)

といった結果になる。

 

optionタグを単に出力するだけであればfor文で出力するのもありだけど、range()という関数も知っておくと便利そうだ。

range(from, to)