【问题标题】:PHP: Multidimensional array foreach echo form passing third valuePHP:多维数组foreach回显形式传递第三个值
【发布时间】:2013-01-21 12:46:28
【问题描述】:

嗨,我从多维数组中的表单值传递。我传递的值看起来像这样。第三个值是从 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" />

【问题讨论】:

    标签: php arrays forms loops foreach


    【解决方案1】:

    我不知道我是否知道您的问题是什么,但如果是我认为这会解决问题...如果您发布输入[这没问题] [这没问题]并且第三个维度是值如果此输入类型发布,那么您应该更改输入元素的名称/ID,就像

    input[THIS IS OK][THIS IS OK] 并且当您发布时,您可以获得值 $val= $_POST[input[".$i."][".$j."]"]; 和这个 $val 将保存您想要的帖子或第三维度的值......并且您拥有它 $i-first 维度 $j-second 维度和 $val-third 维度??

    那是你要找的吗???

    【讨论】:

      【解决方案2】:

      试试看:

      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';
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-18
        • 2017-10-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多