• 締切済み

PHPでプルダウンメニュー

No1 さんの「キー付き配列・・」の最終章を具体的にご教授願えませんでしょうか? 超初心者でいろいろ試しましたが、最後の「キー付き配列」だけうまくできません。 (別ファイルdefine.incでリストを管理したいので)どうぞよろしくお願いします。

みんなの回答

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

唐突過ぎて何が言いたいのかわかりかねます。 参照元があるのですよね?提示なさってください。

100POINT
質問者

補足

すみませんでした。質問の仕方もわからずに・・ 過去の記事で「PHPのプルダウン式のジャンプ設置方法」という質問がありましてその記事の続きに投稿したつもりでしたが、新規の質問になっていました。 ************************************************** 1,define.inc -> URLを記述する設定ファイル 2,index.php -> HTML部分の表示ファイル 3,jump.php -> index.phpで受け取ったURLにロケーション 下記3つのファイルは全て同一ディレクトリに設置する事で動作するようにしてあります。 define.inc ----------------- <?PHP $url[] = "​http://google.co.jp";​ $url[] = "​http://yahoo.co.jp";​ $url[] = "​http://surf-style.us";​ ?> index.php -------------------- <html> <head> <title>Test</title> <body> <form method="post" action="jump.php"> <select name="jump_url"> <?PHP include("./define.inc"); while ( $url[key($url)] != "" ) { print "<option value=\"".$url[key($url)]."\">".$url[key($url)]."</option>\n"; next($url); } ?> </select> <input type="submit" value="ジャンプ"> </form> </body> </html> jump.php -------------------- <?PHP $jump_url = $_POST['jump_url']; header("Location:{$jump_url}"); ?> ************************************************** <変更したい点> このままですとプルダウンに表示されるのが、 http://google.co.jphttp://yahoo.co.jphttp://surf-style.us​ などのURLになってしまいます。 それを グーグル ヤフー サーフスタイル のようにサイト名で表示させたいのです。 ************************************************** ANo.1さん回答 キー付き配列で可能かと、、、 $url[] = "グーグル"=>"​http://google.co.jp";​ ... foreach( $url as $jump_title => $jump_url){ ... } ************************************************** ANo.2さん回答 No.1さんのやり方でも可能ですが、配列のキーに日本語はあまりいいとはいえません。 <? $data = array( array( 'name' => 'グーグル', 'url' => '​http://google.co.jp'),​ array( 'name' => 'ヤフー', 'url' => '​http://yahoo.co.jp'),​ array( 'name' => 'サーフ', 'url' => '​http://surf-style.us')​ ); foreach( $data as $key => $val){ print "<option value=\"".$val['url']."\">".$val['name']."</option>\n"; } ?> このようにした方が、いいと思います。 ************************************************** 元の質問を引用させていただきました。 ANo.2さんの回答の方はうまくできたのですが ANo.1さんの回答の変更箇所がよくわかりませんでしたので お教えいただけると助かります。 どうぞよろしくお願いいたします。 (記号の表示部分が番号表示になってしましました?) **************************************************

関連するQ&A