2017-04-08 27 views
0

所以我試圖從$ _POST數組中獲取動態數據。 $ _POST數組看起來像這樣的形式提交後:

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

現在我不完全知道我怎麼可以訪問這些,團隊可以是任何數量和同樣的一員。有沒有辦法「讀」[teams1member3]?我試圖用foreach循環(foreach($_POST as $post))循環$ _POST變量,但是這隻能得到值(on)。如果我能夠獲得teams1member3,teams1member4等,我應該可以繼續。

任何能幫助我的人?非常感激!

回答

3

您應該使用$key => $value syntax

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

但你應該相當連載您$_POST更好的數據,考慮使用以下JSON對象:

{ 
    "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 
}