循环$ _POST变量具有多个相似的名称

时间:2017-09-16 17:39:41

标签: php post pdo

<input name="name_for_the_items[]"/>
foreach($_POST['name_for_the_items'] as $item)
{
  //do something with $item
}

这是我从Question获得的代码。它适用于1 HTML input。我想要做的是我还有4个输入需要循环。我怎么能用上面给出的类似代码来做呢?

btw我试过

<input name="id[]"/>
<input name="time[]"/>
<input name="day[]"/>
<input name="room[]"/>
foreach($_POST['id'] as $item1) {
  foreach($_POST['time'] as $item2) {
     ....
  }
}

但它的数据是三倍或更多。请帮忙。

1 个答案:

答案 0 :(得分:2)

我会建议这样的事情:

HTML标记:

<form>
  <input name="aspect[id][]"/>
  <input name="aspect[time][]"/>
  <input name="aspect[day][]"/>
  <input name="aspect[room][]"/>
</form>

处理PHP代码:

<?php
foreach($_POST['aspect'] as $key => $values) {
    foreach($values as $index => $value) {
        // do something with $key, $index and $value
    }
}

一般性评论:自己做一个 big 青睐并将代码创建/定义在与处理表单的代码不同的文件中。我知道大多数初学者教程都将两者混合在一起,但实际上这是一件非常愚蠢的事情。