PHP4を使用しています。
フォームで名前がchk1~chk10のまでのチェックボックスがあるとします。
そのチェックボックスにチェックが付いていた場合には1、
チェックが付いていない場合には2を書き出したいとします。

if ($chk1==1){
echo "1";
}else{
echo "2";
}

if ($chk2==1){
echo "1";
}else{
echo "2";
}
・・・
とずっと記述すれば可能だと思うのですが、
それをうまく繰り返し処理を使って出来ないでしょうか?

よろしくお願いします。

A 回答 (3件)

こんなんでもいけます。



for ($i = 1; $i <= 10; $i++) {
$temp = "chk" . $i;
if ($$temp == 1) {
echo "1";
} else {
echo "2";
}
}
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/04/19 11:17

こんな感じ。


for($i=1; $i<11 ;$i++){
if ($_POST["chk$i"] == 1){
echo "1";
}else{
echo "2";
}
}
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/04/19 11:19

foreach ($_POST as $post_key) {


if (substr($post_key,0,3) == 'chk') {
echo ($post_key == 1 ? 1 : 2);
}
}

多分こんなかんじでどうでしょうか?
テストしてませんが。。。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/04/19 11:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング