質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

1061閲覧

for文の中で連番を生成したい。

momolength

総合スコア62

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2021/09/24 01:48

編集2021/09/24 01:56
<div> <div> <input id="1-1" type="radio" value="apple"> </div> <div> <input id="1-2" type="radio" value="grape"> </div> <div> <input id="1-3" type="radio" value="orange"> </div> </div> <div> <div> <input id="2-1" type="radio" value="apple"> </div> <div> <input id="2-2" type="radio" value="grape"> </div> <div> <input id="2-3" type="radio" value="orange"> </div> </div> ↓ $fruit = array(3) { [0]=> string(5) "apple" [1]=> string(5) "grape" [2]=> string(6) "orange" } ??????? <?php for ($c = 1; $c <= 3; $c++) { ?> <div> <div> <input id="{$c}-???" type="radio" value= $fruit option= $fruit> </div> </div> <?php } ?>

for文の中で連番を生成したい。

どういっていいかわからず、変なタイトルになったことご了承ください。

下記をご覧ください。

3つのinputを囲んだdivが二つあります。
3つのinputのid値の中に、連番が設定されています。

これをループの中で完結させたいんですが、いい方法はありますか?
一応書いてみましたが、これではid値の1,2,3しか実現できず、一つ目のdivの中で1_,2_と揃えることができません。
うまく言葉にできなくてすいません、聞いてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2021/09/24 02:00

nameをどうつける想定でしょうか?
momolength

2021/09/24 02:05

ありがとうございます。 name="1" → name="{$c}" これで行こうと思います。
guest

回答3

0

これをループの中で完結させたいんですが、いい方法はありますか?

二重ループで回しましょう。


本題ではありませんが、数値から始まるidを使うと、(HTML5では許可されているとはいえ)CSSを適用しにくいなど使いづらい面があるので、あまりおすすめはしません。

投稿2021/09/24 01:56

maisumakun

総合スコア145208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

momolength

2021/09/24 02:01

それも考えましたが、イメージつかず。具体的にどこをどうすべきですか?すいません。
maisumakun

2021/09/24 02:02

外側のループで前半の数字を、内側のループで後半の数字を変えて回していくだけですが、何がわからないかがわからないです。
guest

0

ベストアンサー

PHP

1<?PHP 2$fruit =["apple","grape","orange"]; 3for ($i = 1; $i <= 3; $i++){ 4for ($j = 1; $j <= 3; $j++){ 5print <<<eof 6<div> 7 <label><input id="{$i}-{$j}" type="radio" name="fruit{$i}" value="{$fruit[$j-1]}">{$fruit[$j-1]}</label> 8</div> 9 10eof; 11} 12}

投稿2021/09/24 02:03

yambejp

総合スコア115010

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

momolength

2021/09/24 03:00

ありがとうございます。単純でしたね。わからず…。 >$fruit[$j-1] これも有り難いです。思いつきませんでした。 しかし、なぜか設定した覚えのないクラス名で余分に1つlabelが生成されており上手くいきません。 かつ、inputが消えてしまう現象も起きています。 なにか抜けてるだけだとおもいますが、本題のことは別なので飛ばします。ありがとうございました。助かりました。
guest

0

二重ループにすれば良いのでは。

投稿2021/09/24 01:56

m.ts10806

総合スコア80861

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問