2017-04-08 8 views
0

私は$ _POST配列から動的なデータを取得しようとしています。フォーム送信後の$ _POST配列は次のようになります。

Array 
(
    [teams1member3] => on 
    [teams1member4] => on 
    [teams1member7] => on 
    [teams1member8] => on 
    [teams2member1] => on 
) 

今私はチームは、任意の数とメンバーのために行く同じにすることができ、私はこれらにアクセスする方法を完全にはよく分かりません。 [teams1member3]を「読む」方法がありますか?

foreachループ(foreach($_POST as $post))で$ _POST変数をループしてみましたが、これは値(on)のみを取得します。もし私がteams1member3teams1member4、などを得ることができるなら、私は続けることができるはずです。

誰かが私を助けることができますか?とても有難い!

答えて

3

あなたは$key => $value syntaxを使用する必要があります。

foreach($_POST as $key => $post){ 
    // $key is what you need 
} 

しかし、あなたではなく、次のJSON表記を使用して検討し、より良いあなた$_POSTデータをシリアル化する必要があります

{ 
    "teams" : [ 
    { 
     "id": 1, 
     "members": [3, 4, 7, 8] 
    }, 
    { 
     "id": 2, 
     "members": [1] 
    } 
    ] 
} 
+0

次のチェックボックスがあります: ''それらがチェックされているかどうかに応じて、それらを配列内に表示する必要があります。これはHTMLを介して行うことが可能ですか、これを可能にするためにJS/PHPで何かする必要がありますか? – wesley221

+0

(JSONなし)[こちらをチェック](https://stackoverflow.com/questions/20184670/html-php-form-input-as-array) – moonwave99

+0

まさに私が欲しかったこと、ありがとう! – wesley221

2
foreach ($_POST as $key => $value) { 
    // ... 
} 

$keyは、(配列のキーが含まれています必要なもの)、$value - 文字列 "on"。

1

あなただけforeach($_POST as $value)を使用している場合、あなただけの値を取得します - あなたは、実際のフィールド名をしたい場合は

オンとオフをあなたのケースでは、しかし、あなたはあなたのforeachの中でキーと値を指定する必要があります。

foreach($_POST a $key => $value) { 
    //$key contains teammember 
    //$value contains on 
} 
関連する問題