• ベストアンサー

繰り返し処理をうまく使えないでしょうか?

PHP4を使用しています。 フォームで名前がchk1~chk10のまでのチェックボックスがあるとします。 そのチェックボックスにチェックが付いていた場合には1、 チェックが付いていない場合には2を書き出したいとします。 if ($chk1==1){ echo "1"; }else{ echo "2"; } if ($chk2==1){ echo "1"; }else{ echo "2"; } ・・・ とずっと記述すれば可能だと思うのですが、 それをうまく繰り返し処理を使って出来ないでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • nattouv
  • ベストアンサー率75% (3/4)
回答No.3

こんなんでもいけます。 for ($i = 1; $i <= 10; $i++) { $temp = "chk" . $i; if ($$temp == 1) { echo "1"; } else { echo "2"; } }

rabu_chihaha
質問者

お礼

ありがとうございます。 とてもわかりやすく、参考になりました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

こんな感じ。 for($i=1; $i<11 ;$i++){ if ($_POST["chk$i"] == 1){ echo "1"; }else{ echo "2"; } }

rabu_chihaha
質問者

お礼

ありがとうございました。 出来ました。 繰り返し変数をそのように使えるのですね。

すると、全ての回答が全文表示されます。
  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.1

foreach ($_POST as $post_key) { if (substr($post_key,0,3) == 'chk') { echo ($post_key == 1 ? 1 : 2); } } 多分こんなかんじでどうでしょうか? テストしてませんが。。。

rabu_chihaha
質問者

お礼

早速の回答ありがとうございます。 やってみます。

すると、全ての回答が全文表示されます。

関連するQ&A