【PHP】最新年から過去100年のselect optionタグを自動生成するサンプル
PHPで最新年から100年前までのセレクトボックスを出力するサンプルプログラムと
特定年を初期値に設定しておくパターンなどをご紹介。
JavaScriptバージョンは下記記事で紹介しています。
<select>
<?php
$dateY = (int) date('Y');
$past = 100; //年前まで
for($i = 0; $i < $past; ++$i):
$year = $dateY - $i; ?>
<option value="<?= $year; ?>"><?= $year; ?></option>
<?php endfor; ?>
</select>
PHP 5.4.0より前とかで、<?=?>が使えない方は、
<?= $year; ?>を<?php echo $year; ?>に置き換えてくださいね。
採用サイトなどでいかがでしょう?
ターゲット層がある程度決まってるなら、こういう配慮をしましょう!
<select>
<?php
$dateY = (int) date('Y');
$past = 100; //年前まで
$select = 22; //年前を初期値に
for($i = 0; $i < $past; ++$i):
$year = $dateY - $i;
$prop = '';
if($i == $select){
$prop = ' selected';
}
?>
<option value="<?= $year; ?>"<?= $prop; ?>><?= $year; ?></option>
<?php endfor; ?>
</select>
こちらも<?=?>が使えない方は、echoに置き換えてくださいね。
これも、採用サイトなどの大学卒業(予定)年などでいかがでしょう?
<select>
<?php
$dateY = (int) date('Y');
$start = 2; //年後から
$past = 100; //年前まで
$dateY += $start;
for($i = 0; $i < $past; ++$i):
$year = $dateY - $i; ?>
<option value="<?= $year; ?>"><?= $year; ?></option>
<?php endfor; ?>
</select>
PHP 5.4.0より前とかで、<?=?>が使えない方は、
<?= $year; ?>を<?php echo $year; ?>に置き換えてくださいね。
さすがに、毎年手動で更新なんてしてないですよね...?
ミスも発生しますので、こういう自動化できる部分は自動化しましょう!