首页 > php代码 > php利用$_POST获取表单name=[]数组的例子

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

表单可以把自己定义成数组形式,这样我们就能利用post接收用户多选过来的值了,下面php入门小编给各位整理了几个例子。

今天写php的时候发现$_POST["arr"]无法获取参数arr的数组,记录一下。

例如有以下表单需要提交:

  <input type="checkbox" name="arr" value="" />
  <input type="checkbox" name="arr" value="" />
  <input type="checkbox" name="arr" value="" />
  <input type="checkbox" name="arr" value="" />

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

  <input type="checkbox" name="arr[]" value="" />
  <input type="checkbox" name="arr[]" value="" />
  <input type="checkbox" name="arr[]" value="" />
  <input type="checkbox" name="arr[]" value="" />

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

第一种方法

<form action="test1.php" method="post">
<?
for($i=0;$i<10;$i++){
?>
<input type="checkbox" name="interests[](不能去掉[])" value="<?=$i?>">test<?=$i?><br>
<?
}
?>
<input type="submit">
</form>

test1.php

<?php
foreach($_POST as $key => $val){
if(is_array($val)){
  foreach($val as $v2){
   echo "$v2<br>";
  }
}
}
?>

第二种用法

test3.php

<?php
if(isset($_POST['submit'])){
$users = $_POST['user'];
foreach($users as $key=>$val){
  echo 'user ',$key,' = ',$val,'<br />';
}
}
?>
<form method="post">
zhangsan <input type="text" name="user[zhangsan]" value="0" /><br />
lisi <input type="text" name="user[lisi]" value="1" /><br />
wangwu <input type="text" name="user[wangwu]" value="2" /><br />
zhaoliu <input type="text" name="user[zhaoliu]" value="3" /><br />
<input type="submit" name="submit" value="提交" />
</form>


本文地址:http://www.phprm.com/code/58383.html

转载随意,但请附上文章地址:-)

标签:foreach checkbox

相关文章

发表留言