• ベストアンサー

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

以下の配列を利用して、 //本籍 $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>

  • PHP
  • 回答数2
  • ありがとう数5

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

  • ベストアンサー
  • 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

  • VBA(EXCEL2000) 配列に文字列を格納する方法

    VBA(EXCEL2000) 配列に文字列を格納する方法 VBAを使用している初心者です。 文字列の配列宣言と同時にデータを格納する方法を教えて下さい。 '/----現在のコード-----------------------------/ Dim member(47) As String member(1) = "北海道" member(2) = "青森県" member(3) = "岩手県" '(途中略) member(46) = "鹿児島県" member(47) = "沖縄県" '/--------------------------------------------/ 下記のようなコードは実現可能でしょうか? Dim member() As String = {"北海道", "青森県", "岩手県",(途中略), "鹿児島県", "沖縄県"}

  • dreamweaver都道府県選択フォーム

    dreamweaverCS6で都道府県を選択するフォーム作りたいですがうまくいきません。 「挿入」メニューから「フォーム」→「フォーム」で入力範囲を作成してその中に「名前」や「メールアドレス」などを「テキストメニュー」で作れますが、「選択(リスト/メニュー)」で都道府県とするとコード欄には次のコードが生成されています。 <label for="pref">都道府県</label> <select name="pref" id="pref"> </select> 上記に都道府県名を記述していくのでしょが、記述しても先頭のフィルドには「北海道」だけしか表示されていず他の県名は表示されていません。よって、選択することができません。 <option value="1">北海道</option> <option value="2">青森県</option> <option value="3">岩手県</option> <option value="4">宮城県</option> <option value="5">秋田県</option> <option value="6">山形県</option> <option value="7">福島県</option>          ・          ・          ・ <option value="47">沖縄県</option> また、47都道府県を入力するのは大変なので、上記をコピーではなく別のメモ帳に下記のように準備してあるのを正規表現というのがあるそうですが一括で変化する方法も併せて教えて戴けると幸いです。 1 北海道 2 青森県 3 岩手県 4 宮城県 5 秋田県 6 山形県 7 福島県    ・    ・    ・ 47 沖縄県

  • 値の受け取り方

    nameタグが下記のようになっている場合、 PHPではどのように取得すれば良いのでしょうか? selectタグは取得できましたが、配列になっている場合の取得方法が分かりません。 ---HTML--- <form action="abc.php" method="post" > <input type="text" name="ord[name]" size="30" VALUE=""> <input type="text" name="ord[company]" size="30" VALUE=""> <select name="pref"> <option value="">-- 都道府県 --</option> <option value="北海道" >北海道</option> <option value="青森県" >青森県</option> <option value="岩手県" >岩手県</option> </select> ・ ・ ---abc.php--- <html> <head><title>output</title></head> <body> <?php $pref = $_POST['pref']; print ("次のデータを受け取りました<br />"); print ("住所:$pref<br />"); ?> </body> </html>

    • ベストアンサー
    • PHP
  • 携帯サイト作成中、携帯上でプルダウンメニューが表示されません。

    今、携帯サイトを作成しています。 氏名・住所などの入力フォームをタグで作成しているのですが、県名選択の際プルダウンメニューのタグを使用したら携帯上からはなぜかラジオボタンの表示になってしまいます。 47都道府県が縦にラジオボタンになってしまうのでものすごく縦長です(泣)。 使用しているタグは以下です。 <select name="kenmei"> <option>北海道</option> <option>青森県</option> <option>岩手県</option> ~(中略) <option selected>東京都</option> <option>神奈川県</option> <option>山梨県</option> ~(中略) <option>沖縄県</option> </select> PCのブラウザ上ではプルダウンで表示されているのですが、なぜ携帯ブラウザ上ではラジオボタンになってしまうのでしょうか?? 当方の使用携帯はezのA5502Kです。 お答えいただければ幸いです。

    • ベストアンサー
    • HTML
  • 国別のタグを作りたい

    <option value="北海道">北海道 <option value="青森">青森 <option value="岩手">岩手 <option value="秋田">秋田 のように、地域別の選択で、AからZまでの国別にしたいのですが、その並びが載っているページはあるのでしょうか 。宜しくお願いします。

  • php セレクトボックス 値取得

    現在phpでフォームを作成しています。 都道府県選択のフォームがあり、データベースに都道府県のマスタが管理されています。 都道府県には北海道~沖縄まで順番にIDが振られています。 選択フォームはセレクトボックスになります。 ソースは簡単ですが <option value="<?php echo $prefid; ?>"><?php echo $prefname; ?></option> とループさせて下記の状態になります。 <select name="pref"> <option value="1">北海道</option> <option value="2">青森県</option> <option value="13">東京都</option> <option value="20">愛知県</option> <option value="47">沖縄</option> </select> とあり、選択された(例:北海道を選択)のち確認画面では1と表示されます。 これを北海道と表示させたいのですが、どのように作ったらよろしいでしょうか? sessionは使用しています。 $_SESSION['pref'] = $_REQUEST['pref']; で値受け取っています。 おわかりの方がいらっしゃいましたらご教示お願いします。

    • 締切済み
    • PHP
  • SQL文(県名一覧・・)

    県名テーブル  北海道  青森県  ・・・  沖縄県 求人テーブル  北海道 2人  岩手県 1人  ・・・  鹿児島県 2人 という場合に  北海道 2人  青森県 0人  岩手県 1人  ・・・  鹿児島県 2人  沖縄県 0人 のように、会員ゼロでも表示させるSQLを教えていただけないでしょうか。現在は、ゼロだと表示されません。 現在は下記(MSアクセスのクエリ)です。番号は並べ替え用です。 SELECT 求人.県名, Count(求人.県名) AS 合計, 県名.番号 FROM 県名 LEFT JOIN 求人 ON 県名.県名 = 求人.県名 WHERE (((求人.年月日)>Date()-182)) GROUP BY 求人.県名, 県名.番号 ORDER BY 県名.番号;

  • 2次元配列を1次元配列にするには

    array(2){ ["北海道"]=> array(2) { [0]=> string(9) "札幌市" [1]=> string(9) "函館市" } ["青森県"]=> array(2) { [0]=> string(9) "青森市" [1]=> string(9) "弘前市" } } 以上のような配列から北海道と青森県を取り出して array('北海道', '青森県') といったような処理をしたいのですが、どなたかご教示お願いいたします。

    • ベストアンサー
    • PHP
  • 配列の書き方

    多次元配列を使って都道府県と地域名と運賃データを格納しようと思っています。 例えば 北海道 都道府県コード1 サイズによって 1470,1680,1890,2100,2310,2520 青森県  都道府県コード2 秋田県  都道府県コード3 岩手県  都道府県コード4 この3県はサイズによって 1050,1260,1470,1680,1890,2100 ・・・ という情報を格納したいです。 入力された都道府県データと個数で送料を判定したいのですがどのようにすればいいのか途方にくれています。 ご教授ください。

    • ベストアンサー
    • PHP
  • if elsif 構文と複数の配列の使用

    if elsif の構文で、複数の配列を使ったマッチングで分からないところがあり、質問させていただきたいと思います。 たとえば通常ifを使って$_ に対してある配列すべての要素をマッチングさせるとすると、 foreach my $value (@list){ if($_ =~ /$value/ ){ do something}} となると思います。 私が書きたいスクリプトは以下のようなものです。 $_ にたいして、初め (if で)配列1のすべての要素を探し、それがなかったら(elsif)配列2のなかから探し、それでもなければ配列3の中から。。。。。。というものです。 foreach my $value1 (@list1){ if($_ =~ /$value1/ ){ do something} elsif {foreach my $value2 (@list2){ if($_ =~ /$value1/ ){ do something}} 感覚的にはこのような感じになると思うのですが。。。。 このelsifの部分から2つめの配列を使ったマッチングを行いたいのですが、elsif ( )のなかにどのように記述すれば 動く様になるでしょうか?

    • ベストアンサー
    • Perl