PHP:多维数组foreach echo表单传递第三个值

时间:2013-02-06 10:43:29

标签: php arrays forms loops foreach

嗨我从多维数组中的表单值传递。我传递的值看起来像这样。第三个值从html表单传递。

<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($_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" />

2 个答案:

答案 0 :(得分:0)

我不知道我是否得到你的问题,但如果我认为这样做会...如果你发布输入[这没关系] [这没关系]第三个维度就是价值那个输入类型发布然后你应该改变输入元素的名称/ id就像

输入[这没关系] [这没关系]当你发布时你可以获得价值$ val = $ _POST [input [“。$ i。”] [“。$ j。”]“];和这个$ val将保留你想要的帖子或第三维的价值....你有它$ i-第一维$ j-第二维和$ val-第三维?

是你在找什么???

答案 1 :(得分: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';
    }
}