当前位置:首页 > PHP教程 > php应用 > 列表

php利用$_POST获取表单name=[]数组的例子

发布:smiling 来源: PHP粉丝网  添加日期:2014-06-27 11:04:06 浏览: 评论:0 

今天写php的时候发现$_POST["arr"]无法获取参数arr的数组,记录一下,例如有以下表单需要提交,代码如下:

  1. <input type="checkbox" name="arr" value="" /> 
  2. <input type="checkbox" name="arr" value="" /> 
  3. <input type="checkbox" name="arr" value="" /> 
  4. <input type="checkbox" name="arr" value="" /> 

使用$_POST["arr"]只能获得最后选择的复选框的值,要获得全部选中的复选框的值需要把表单修改成下面,代码如下:

  1. <input type="checkbox" name="arr[]" value="" /> 
  2. <input type="checkbox" name="arr[]" value="" /> 
  3. <input type="checkbox" name="arr[]" value="" /> 
  4. <input type="checkbox" name="arr[]" value="" /> 

这样就可以使用$_POST["arr"]获得全部选中的checkbox的值,那这样获取值了我们要怎么解析出来呢.

第一种方法,代码如下:

  1. <form action="test1.php" method="post"
  2. <? 
  3. for($i=0;$i<10;$i++){ 
  4. ?> 
  5. <input type="checkbox" name="interests[](不能去掉[])" value="<?=$i?>">test<?=$i?><br> 
  6. <? 
  7. ?> 
  8. <input type="submit"
  9. </form> 

test1.php

  1. <?php 
  2. foreach($_POST as $key => $val){ 
  3. if(is_array($val)){ 
  4.    foreach($val as $v2){ 
  5.     echo "$v2<br>"
  6.    } 
  7. ?> 

第二种用法,test3.php,代码如下:

  1. <?php 
  2.  
  3. if(isset($_POST['submit'])){ 
  4. $users = $_POST['user']; 
  5. foreach($users as $key=>$val){ 
  6.    echo 'user ',$key,' = ',$val,'<br />'
  7. ?> 
  8. <form method="post"
  9. zhangsan <input type="text" name="user[zhangsan]" value="0" /><br /> 
  10. lisi <input type="text" name="user[lisi]" value="1" /><br /> 
  11. wangwu <input type="text" name="user[wangwu]" value="2" /><br /> 
  12. zhaoliu <input type="text" name="user[zhaoliu]" value="3" /><br /> 
  13. <input type="submit" name="submit" value="提交" /> 
  14. </form> 

Tags: $_POST 获取表单数组

分享到: