将多个表单输入名称循环到数组

时间:2013-06-23 14:58:15

标签: php html forms for-loop foreach

我有一个这样的表格:

</span><select data-role=slider name="ndata[0]" /><option value=0> E </option><option value=1> F </option></select>
  <span>1b: </span><select data-role=slider name="ndata[1]" /><option value=0> E </option><option value=1> F </option></select>
  <span>1c: </span><select data-role=slider name="ndata[2]" /><option value=0> E </option><option value=1> F </option></select>

然后,我想将每个数据插入到php文件中的循环过程中。这是我的剧本:

<?php
foreach( $_GET['ndata'] as $ch => $data ) {
    $flag = 0;
       if($data[$flag] == 0){
          echo "<li><a href=\"img2.php\" target=\"blank\">Sektor ".($flag + 1)."</a></li>\n";}
    $flag++;}
?>

我试过了,但我得到了一些错误。你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为,如果选择“E”,你想要打印类似的东西。

Sektor 1
Sektor 2

如果是这样,你应该使用这段代码:

foreach( $_GET['ndata'] as $key => $value ) {
   if($value == 0) {
       echo "<li><a href=\"img2.php\" target=\"blank\">Sektor ".($key + 1)."</a></li>\n";
   }
}

因为,$ _GET ['ndata']将返回这样的数组:

array(3) { 
           [0]=> string(1) "0"
           [1]=> string(1) "1" 
           [2]=> string(1) "0" 
         }

所以上面的代码段可以帮助您通过查看$key + 1来打印正确的扇区号($value)。

如果不是这种情况,你能否写下你得到的错误。