搜索

首页  >  问答  >  正文

javascript - 表单对象的name为xx[]传递数组给php的原理

<form method="post" action="arrayformdata.php">
<label>Tags</label>
<input type="text" name="tags[]"/>
<input type="text" name="tags[]"/>
<input type="text" name="tags[]"/>
<input type="text" name="tags[]"/>
<input type="text" name="tags[]"/>
<input type="submit" value="submit">
</form>
</html>

这样就可以在php中通过$_POST['tags']得到所有name为tags[]的值并合并到一个数组内。
不明白它的原理是怎样的

迷茫迷茫2814 天前357

全部回复(3)我来回复

  • 天蓬老师

    天蓬老师2017-05-16 13:09:31

    提交的时候你可以看到请求的form信息中是

    tags[]: 111
    tags[]: 222

    当php收到这个信息后,会将变量以关联数组形式传入当前脚本。既然是关联数组,那么就会存在key,而上面tags[]是同一组key。php在处理的时候就会把他们放到一个数组里。

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:09:31

    $array=[];
    for($i=0;$i<100;$i++){
        $array[]=$i;
    }
    print_r($array);

    我觉得应该是和这个是一个道理。是因为php端有做处理(不了解其他后端语言)。因为在前台发送过去的是这样的 如图

    回复
    0
  • 某草草

    某草草2017-05-16 13:09:31

    楼上差不多的意思,提交的input框 全部赋给了$_POST,$_POST是一个超全局变量,所以在哪里都可以接受到

    回复
    0
  • 取消回复