• ベストアンサー

配列の変数をループで書き出したい

以下の配列を利用して、 //本籍 $arrHonseki = array("北海道","青森県","岩手県","・・(中略)・・・"鹿児島県","沖縄県","海外"); 以下のようにHTMLに展開するのにうまいfor構文とかありませんか。 配列をループさせるというのはforeach構文だったでしょうか? <select name="Honseki>   <option value=""> </option>   <option value="0">北海道</option>   <option value="1">青森県</option>   <option value="2">岩手県</option>         :         :   <option value="45">鹿児島県</option>   <option value="46">沖縄県</option>   <option value="47">その他海外</option> </select>

質問者が選んだベストアンサー

  • ベストアンサー
  • Suzi
  • ベストアンサー率38% (130/334)
回答No.1

print "<select name=\"Honseki\"><br>\n"; print "<option value=\"\"> </option><br>\n"; $ip_1 = $ip_2 = ''; $ip_1 = count($arrHonseki); for( $ip_2 = '0'; $ip_2 < $ip_1; $ip_2++ ){ print "<option value=\"" . $ip_2 . "\">". $ip_1[$ip_2] . "</option><br>"\n"; } print "</select>\n";

litton101
質問者

お礼

Suziさん、お礼遅くなってすみませんでした。 おかげさまでご教示のとおりのものを実装できました。 最初、このままうまく動かなくて $ip_1[$ip_2]を$arrHonseki[$ip_2]に修正したら、うまくいきました。 ご回答まことにありがとうございました。 大変勉強になりました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

こんな感じで・・・ arrayでやるときはキーも指定したほうがいいですよ。 <? $arrHonseki = array(0=>"北海道",1=>"青森県",2=>"岩手県",45=>"鹿児島県",46=>"沖縄県",47=>"海外"); $str=""; foreach($arrHonseki as $key=>$val){ $str.="<option value=\"{$key}\">{$val}</option>\n"; } $str="<select name=\"Honseki\">\n<option value=\"\"> </option>\n{$str}</select>"; print $str; ?>

litton101
質問者

お礼

yambejpさん、お礼遅くなってすみませんでした。 >arrayでやるときはキーも指定したほうがいいですよ。 こちらは、知りませんでした。以後、注意します。 本題の方も、うまくいきました。大変ありがとうございました。

関連するQ&A