[英]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);
我希望這能解決您的問題。
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.