- ベストアンサー
配列の変数をループで書き出したい
以下の配列を利用して、 //本籍 $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>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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";
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
こんな感じで・・・ 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; ?>
お礼
yambejpさん、お礼遅くなってすみませんでした。 >arrayでやるときはキーも指定したほうがいいですよ。 こちらは、知りませんでした。以後、注意します。 本題の方も、うまくいきました。大変ありがとうございました。
お礼
Suziさん、お礼遅くなってすみませんでした。 おかげさまでご教示のとおりのものを実装できました。 最初、このままうまく動かなくて $ip_1[$ip_2]を$arrHonseki[$ip_2]に修正したら、うまくいきました。 ご回答まことにありがとうございました。 大変勉強になりました。