今天寫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>
新聞熱點
疑難解答