如何在 PHP 中获取多个复选框值
How to get multiple checkbox values in PHP
我有以下五个复选框的代码,它们具有相似的 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
)
浏览器将发送选中复选框的值,现在您的值始终为 1。
尝试将您的代码更改为:
<input type='checkbox' value='1' name='check[]'/>
<input type='checkbox' value='2' name='check[]'/>
<input type='checkbox' value='3' name='check[]'/>
<input type='checkbox' value='4' name='check[]'/>
<input type='checkbox' value='5' name='check[]'/>
像你一样从复选框中获取所有值,而不是做一个 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);
希望这能解决您的问题。
此致
我有以下五个复选框的代码,它们具有相似的 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
)
浏览器将发送选中复选框的值,现在您的值始终为 1。
尝试将您的代码更改为:
<input type='checkbox' value='1' name='check[]'/>
<input type='checkbox' value='2' name='check[]'/>
<input type='checkbox' value='3' name='check[]'/>
<input type='checkbox' value='4' name='check[]'/>
<input type='checkbox' value='5' name='check[]'/>
像你一样从复选框中获取所有值,而不是做一个 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);
希望这能解决您的问题。
此致