我有以下五个复选框的代码,类似name=check[]
<input type='checkbox' value='1' name='check[]'/>
<input type='checkbox' value='1' name='check[]'/>
<input type='checkbox' value='1' name='check[]'/>
<input type='checkbox' value='1' name='check[]'/>
<input type='checkbox' value='1' name='check[]'/>
我使用表单将此数据发送到PHP页面并在php中提取此数据,如下所示
<?php
$check=$_POST['check'];
print_r($check);
?>
即使我选中复选框号1,2,5或1,3,4
,三个已选中复选框的输出也将始终如下Array
(
[0] => 1
[1] => 1
[2] => 1
)
例如:
如果共有五个复选框,我只选中了第一个和第三个复选框,那么我的输出必须是
Array
(
[1] => 1
[3] => 1
)
或
Array
(
[1] => 1
[2] => 0
[3] => 1
[4] => 0
[5] => 0
)
答案 0 :(得分:2)
浏览器将发送已选中复选框的值,此时您的值始终为1.
尝试将代码更改为:
clear: left/right/both;
答案 1 :(得分:0)
从你正在做的复选框中获取所有值,而不是使用for循环直到数组的长度,并且如果任何键的特定值是1,那么你可以根据需要对其进行处理,例如
$data = array(
[1] => 1
[2] => 0
[3] => 1
[4] => 0
[5] => 0
);
$output=array();
for($i=1; $i<=count($data); $i++)
{
if($data[$i])== 1)
$output[] = $data[$i];
}
print_r($output);
我希望这能解决你的问题。
此致