簡體   English   中英

如何在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);

我希望這能解決您的問題。

問候

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM