【初心者PHP】<select>プルダウンメニューをfor文・foreach文などでスッキリ書きたい。する質問をすることでしか得られない、回答やアドバイスがある。15分調べてもわからないことは、質問しよう!質問するただいまの回答率89.65%トップPHPに関する質問PHPHTML配列forforeachJavaScriptを有効にしてください【初心者PHP】<select>プルダウンメニューをfor文・foreach文などでスッキリ書きたい。8PHPの勉強を始めて1週間の初心者です。phpで簡単なメールフォームを作る練習をしています。value="送る"></form></html>(ネットの記事から引用)のような解決法が多くありました。今私が作ろうとしているプルダウンメニューが都道府県を選択するメニューなので、これはあまりにも手間がかかる上にテキスト量が多くなり読みにくくなってしまいます。'</option>');}?></select>と自分で書いてはみたのですが、2点ほどうまくいかない事があります。その1、初期値が空になって▼マークのみの表示になってしまう。(一度送信するとなぜかプルダウンし選択できるようになる)その2、選択した項目を送信した後も保持したままにしたい。そこでお願いしたいのはこの2点の解決方法です。できればfor文など使用したスッキリした形で完成させたいです。知らないこともたくさんありますのでもし別の方法があれば教えていただきたいです。追記:ネットから引用した前述の方法以外の解決策はないんでしょうか?追記2:回答を受け以下の記述に直しました。'</option>');}}?></select>この記述の結果、その1の問題は解決しました。送信後のプルダウンメニューが強制的に沖縄県(項目の最後)に移動してしまいました。→送信後:47項目全てが「東京都」に)もうどうすればいいか分かりません、、、attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。しているのでどちらかの変数名を変える必要があると思います。その1に関してfor文や都道府県の配列の部分がif(isset($_POST["send"])){の中にあるので$_POST["send"]がない場合は動作していないのだと思います。selected="selected">とする必要がありまが、for内ではselectedの指定をしていないので一番上のものが選択された状態になっているのだと思います。echo('option...の前でif($_POST["japan"]==$japan[$i])を使ってselectedの出し分けをしてみてくださ。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。16:54お早い回答ありがとうございます!おかげさまで初期値でちゃんとプルダウンメニューが選択できるようになりました!for文の位置を変えるだけでよかったんですね・・・!ですが申し訳ないです、まだわからないことが、、、その2の部分ですが「selectedの出し分け」とはどうやればいいのでしょうか・・・?ifとelseを使って条件分岐をするんだろうなと思うのですが、selectedを使った具体的な記述方法がわかりません。selectedを使った具体的な記述方法がわかりません。'</option>');こっちが選択されている場合の出力になります。ここはphpではなく出力されたhtmlの話しになるのでhttp://www.htmq.com/html5/option.shtmlこの辺りのリファレンスを確認されるのがいいと思います。こっちが選択されている場合の出力になります。この辺りのリファレンスを確認されるのがいいと思います。17:49ご返答ありがとうございます!私の解釈の仕方が悪いのでしょうか、どれを選んでも送信すると強制的に沖縄県に初期化されてしまいます。現在、記述は以下のとおりです。'</option>');}}?>ちなみに最初の回答を受けて$_POSTの方は$japanから$japansへと変更してあります。それと私なりに考えてelseの2箇所ある$japan[$i]を$_POST["japan"]にすれば良いのではないかと試してみたのですが、うまくいきませんでした。申し訳ありませんが、あともう少しだけ教えて頂けませんでしょうか?お願い致します。送信すると強制的に沖縄県に初期化されてしまいます。現在、記述は以下のとおりです。すれば良いのではないかと試してみたのですが、うまくいきませんでした。17:54下記に回答で書きましたが、ifの条件で出す内容が逆になっていますね。下記に回答で書きましたが、ifの条件で出す内容が逆になっていますね。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。受付中PHPのセレクトボックスの初期値の設定について(PHPのバージョンは5.3です。都道府県のリストダウンメニューを配列からではなく、データベースから取得した値を使って作りたい。【初心者PHP】<select>プルダウンメニューをfor文・foreach文などでスッキリ書きたい。頂いたご意見への回答は行っておりません。