【PHP】都道府県を選択できるselectボックスを作ってみる

フォームを作成するときに都道府県を選択するセレクトボックスを使うときがあると思います。

HTMLの中でコードを書くと行数が増えて、見た目がなんとなく良くないのでselect要素を作るPHPを作成してみました。


<form>
 <select>
  <?php
   include_once('php/setpref.php');
  ?>
 </select>
</form>
<?php
$pref_array = array(
    ['北海道',false],
    ['東北地方',true],
    ['青森県',false],
    ['岩手県',false],
    ['宮城県',false],
    ['秋田県',false],
    ['山形県',false],
    ['福島県',false],
    ['関東地方',true],
    ['茨城県',false],
    ['栃木県',false],
    ['群馬県',false],
    ['埼玉県',false],
    ['千葉県',false],
    ['東京都',false],
    ['神奈川県',false],
    ['中部地方',true],
    ['新潟県',false],
    ['富山県',false],
    ['石川県',false],
    ['福井県',false],
    ['山梨県',false],
    ['長野県',false],
    ['岐阜県',false],
    ['静岡県',false],
    ['愛知県',false],
    ['近畿地方',true],
    ['三重県',false],
    ['滋賀県',false],
    ['京都府',false],
    ['大阪府',false],
    ['兵庫県',false],
    ['奈良県',false],
    ['和歌山県',false],
    ['中国地方',true],
    ['鳥取県',false],
    ['島根県',false],
    ['岡山県',false],
    ['広島県',false],
    ['山口県',false],
    ['四国地方',true],
    ['徳島県',false],
    ['香川県',false],
    ['愛媛県',false],
    ['高知県',false],
    ['九州地方',true],
    ['福岡県',false],
    ['佐賀県',false],
    ['長崎県',false],
    ['熊本県',false],
    ['大分県',false],
    ['宮崎県',false],
    ['鹿児島県',false],
    ['沖縄県',false],
);
if ( empty( @$parm['input_main_pr'] ) ) {
    echo '<option value="" style="display: none;">都道府県を選択してください</option>';
}

foreach ( $pref_array as $value ) {
if ($value[1]){
echo '<optgroup label="'.$value[0].'">';
    }
    if ( ! empty( @$parm['input_main_pr'] ) ) {
        if ( $value[0] === @$parm['input_main_pr'] ) {
            echo '<option value="' . $value[0] . '" selected>' . $value[0] . '</option>';
        } else {
            echo '<option value="' . $value[0] . '">' . $value[0] . '</option>';
        }
        } else {
            echo '<option value="' . $value[0] . '">' . $value[0] . '</option>';
        }
    }
?>

PHP

Posted by Next-k