2013-02-06 87 views
1

嗨Im從多維數組中傳遞表單值。我傳遞的價值觀是這樣的。第三個值從html表單傳遞。PHP:多維數組foreach回聲表單傳遞第三個值

<input type=\"text\" name=\"input[".$row[Id]."][".$record[Name]."][]\" size=\"2\" /> 

input[1][1][] 
input[1][2][] 
input[1][3][] 
input[2][1][] 
input[2][2][] 
input[2][3][] 

然後我嘗試對它們進行foreach但我被卡住了。

foreach($_POST[input] as $name => $value){ 
    foreach($value as $inner_value =>$value){ 
     foreach($value as $inner_inner_value => $value){ 
      echo "Menu: {$name} submenu: {$inner_value} subsubmenu :{$inner_inner_value}\n<br><br>"; 
     } 
    } 
} 

它是與此相呼應:

Menu:1 submenu: 1 subsubmenu: 0 
Menu:1 submenu: 2 subsubmenu: 0 
Menu:1 submenu: 3 subsubmenu: 0 
Menu:2 submenu: 1 subsubmenu: 0 
Menu:2 submenu: 2 subsubmenu: 0 
Menu:2 submenu: 3 subsubmenu: 0 

但我要實現這個

Menu:1 submenu: 1 subsubmenu: value entered into form field. 
Menu:1 submenu: 2 subsubmenu: value entered into form field. 
Menu:1 submenu: 3 subsubmenu: value entered into form field. 
Menu:2 submenu: 1 subsubmenu: value entered into form field. 
Menu:2 submenu: 2 subsubmenu: value entered into form field. 
Menu:2 submenu: 3 subsubmenu: value entered into form field. 

第三值從HTML張貼基本上我不知道我怎麼可以傳遞第三值數組使用表單。

<input type="text" name="input[THIS IS OK][THIS IS OK][value ENTERED in FORM FIELD???]" size="2" /> 

回答

0

我不知道如果我得到你的問題是什麼,但如果它是什麼,我想這會做到這一點......如果你發佈輸入[THIS IS OK] [THIS IS OK]第三尺寸是這個輸入類型帖子的值,那麼你應該改變輸入元素的名稱/ ID,就像

輸入[這是行] [這是行],當你發佈你可以得到值$ val = $ _POST [input [「。$ i。」] [「。$ j。」]「];並且這個$ val將保留您想要的帖子或第三維的值....並且您擁有它$ i - 第一維$ j-第二維和$ val-第三維

已那你在找什麼?

+1

感謝這麼簡單:) – user1508136

0

嘗試:

protected $printString = ''; 
function magicRecursiveArrayRunner($someArray){ 
    if(is_array($someArray)){ 
     foreach($someArray as $key=>$value){ 
      if(is_array($value)){ 
       $this->printString .= "Menu ".$key; 
       self::magicRecusiveArrayRunner($value); 
      }else{ 
       $this->printString .= " submenu ".$key; 
      } 
     } 
    }else{ 
     $this->printString .= " subsubmenu ".$key . '\br'; 
    } 
}