ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

PHP:Webページのフォームの複数のラジオボタンの値を、次のページで読み込む方法

以前、チェックボックスのname属性を配列のようにして、値を取得する方法を書きました。
ajya.hatenablog.jp

今回はラジオボタンを配列のようにして、値を取得する方法です。
今回もうろ覚えで作成して、よくわからなくなって、上の記事を読み直していました。
読み込み側のページは、PHPで作成しています。

送信側のフォーム

ラジオボタンを配列のようにして、添字を割り当てます。

<form method="POST" action="next.php"> 
    <input type="radio" name="radio[0]" value="1">A1<br>
    <input type="radio" name="radio[0]" value="0">A0<br>
    <input type="radio" name="radio[1]" value="1">B1<br>
    <input type="radio" name="radio[1]" value="0">B0<br>
</form>

f:id:AJYA:20170124223000j:plain
photo credit: Jeffpro57 Google-Chrome! via photopin (license)

読み込み側のページ

ラジオボタンと同様に配列になっているので、foreachでループしながら読み込んで、選ばれた複数のラジオボタンの値を取得します。

$radioArray = array();

foreach ($_POST["radio"] as $key => $value) {
    $radioArray[$key] = $value;
}

foreachの$keyが値を処理する際に必要なければ、

$radioArray = array();

foreach ($_POST["radio"] as $key => $value) {
    $radioArray[] = $value;
}

とすることもできます。


読み込み側を配列としては扱えず、

$radioArray[] = $_POST["0"];
$radioArray[] = $_POST["1"];

としなければいけないことはなかったはずだけど、どう記述すればいいのか、悩んでしまいました。