-2

このような質問があります。私のフォームでは、これをチェックボックスとして取得しました:

<input type="checkbox" name="access[1]" value="E01">Highway 1<br><br>
<input type="checkbox" name="access[1][]" value="C001" >&nbsp;C001<br>
<input type="checkbox" name="access[1][]" value="C002" >&nbsp;C002
<br>
<br>
<input id="access[2]" type="checkbox" name="access[2]" value="E03">Highway 2<br><br>
<input id="access[2]" type="checkbox" name="access[2][]" value="XXXX">&nbsp;XXXX
<br>
<br>
<input id="access[3]" type="checkbox" name="access[3]" value="E05">Highway 3<br><br>
<input id="access[3]" type="checkbox" name="access[3][]" value="XXXX">&nbsp;XXXX<br>
<br>

そして私のPHPコードで、私はこれを得ました:

foreach ($_POST ["access"] as $id => $subs) {       

    foreach ($subs as $sub) {

        $subcategory = $sub;

        echo "<p>".$id." - ".$subs." - ".$subcategory."</p>";

    }

}

結果はどういうわけか次のようになります。

http://s12.postimage.org/f2xi0yz4p/data4.png

表示される配列は、フォームの値ですよね? 「E01」「E03」「E05」のように。「配列」という単語をメインカテゴリにする方法を教えてください。

予想される出力は、次のようになります。

1 - E01 - C0001
2 - E01 - C0002
3 - E03 - XXXX
4 - E05 - XXXX

ありがとう

4

1 に答える 1

0

access[1]andaccess[2]のような名前に変更する必要があります: access[1][id] access[2][id]as access[1]/access[2]は、次の入力によって自動的に配列に変換されます。

次に、これらの変数にアクセスできます。

foreach ($_POST ["access"] as $id => $subs) {       

    foreach ($subs as $key=>$sub) {
        if($key!='id'){
            $subcategory = $sub;
            echo "<p>".$id." - ".$subs['id']." - ".$subcategory."</p>";
        }
    }

}
于 2012-06-18T16:52:50.143 に答える