在 PHP 中讀取核取方塊是否被選中
我們將演示如何使用 $_POST
陣列上的 isset()
函式檢查 PHP 中的核取方塊是否已選中。我們提供 HTML 的 input
標籤的 name
屬性的值作為 $_POST
陣列中的陣列元素。
我們將介紹另一種方法,在 PHP 中使用 in_array()
函式讀取核取方塊是否被選中。在此方法中,我們使用核取方塊作為陣列。這意味著 HTML input
標籤中的所有 name
欄位必須包含相同的陣列。
我們將介紹一種簡化方法,以檢查是否已使用三元運算子選中了該核取方塊。該方法更加直接和簡短,並且使用 isset()
函式。
在 $_POST
陣列上使用 isset()
函式來讀取核取方塊是否被選中
我們可以使用 isset()
函式來檢查 PHP 中是否已選中該核取方塊。isset()
函式將 $_POST
陣列作為引數。$_POST
陣列包含 HTML 形式的 name
屬性的特定值。
例如,使用 POST
方法在 HTML 中建立一個表單,然後將操作指定為 index.php
。建立兩個分別名為 test1
和 test2
的核取方塊。用 .php
副檔名儲存檔案。建立一個名為 index.php
的 PHP 檔案。以 $_POST
陣列為引數,對 isset()
函式應用兩個 if
條件。將 test1
和 test2
分別用作 $_POST
陣列中的陣列元素。列印指定相應值的訊息。
下面的示例使用 POST
方法以表格形式傳送資料。通過表單傳送敏感資訊時,它是安全的。單擊此處以瞭解有關 POST
方法的更多資訊。使用者選中表單中的兩個核取方塊。因此,指令碼輸出的方式如下所示。如果使用者僅檢查了 Option 1
,則指令碼將輸出為 checked value1
。它也類似於 Option 2
。
示例程式碼:
# html 5
<form action="index.php" method="post" >
<input type="checkbox" name="test1" value="value1"> Option 1
<input type="checkbox" name="test2" value="value2"> Option 2
<input type="submit" value="Submit">
</form>
#php 7.x
<?php
if(isset($_POST['test1'])){
echo "checked value1"."<br>";
}
if(isset($_POST['test2'])){
echo "checked value2";
}
?>
輸出:
checked value1
checked value2
使用 in_array()
函式來讀取核取方塊是否被選中
我們可以使用 in_array()
函式來檢查元素是否位於 PHP 的陣列中。in_array()
函式將要檢查的值作為第一個引數。該函式的第二個引數是要在其中檢查值的陣列。檢視 PHP 手冊以瞭解有關 in_array
函式的更多資訊。為了使此方法起作用,HTML 形式的所有 name
屬性值都必須是一個陣列。
例如,使用 test[]
陣列以 HTML 形式分配 name
屬性的值。請注意,它適用於所有核取方塊型別
。首先,在 PHP 檔案中,按照第一種方法檢查是否已使用 isset()
函式提交了資料。但是,在檢查釋出的資料時,請勿在測試
之後使用 []
括號。然後,使用 in_array()
函式檢查 value1
是否在 $_POST['test']
陣列中。顯示訊息。
首先,下面的示例檢查資料是否以表格形式提交。如果條件為真,則使用 in_array()
函式檢查 value1
是否位於 $_POST['test']
陣列中。使用者選中表單中的第一個核取方塊。
示例程式碼:
#html 5
<form action="index.php" method="post" >
<input type="checkbox" name="test[]" value="value1"> Option 1
<input type="checkbox" name="test[]" value="value2"> Option 2
<input type="submit" value="Submit">
#php 7.x
<?php
if(isset($_POST['test'])){
if(in_array('value1', $_POST['test'])){
echo "Option1 was checked!";
}
}
?>
輸出:
Option1 was checked!
使用 isset()
函式與三元函式來讀取核取方塊是否被選中
我們可以在在 PHP 中使用一種簡便方法來檢查該核取方塊是否已選中。此方法使用三元運算子以及 isset()
函式。請檢視 MSDN Web 文件以瞭解有關三元運算子。
例如,設定變數 $check
來儲存三元運算的值。使用 isset()
函式檢查核取方塊中是否已選中 test1
。列印 $check
變數以顯示結果。在下面的示例中,如果條件為 true,則顯示 checked
;如果條件為 false,則顯示 unchecked
。使用者選中表單中的第二個核取方塊。因此,條件失敗。
示例程式碼:
#html 5
<form action="index.php" method="post" >
<input type="checkbox" name="test1" value="value1"> Option 1
<input type="checkbox" name="test2" value="value2"> Option 2
<input type="submit" value="Submit">
</form>
#php 7.x
<?php
$check = isset($_POST['test1']) ? "checked" : "unchecked";
echo $check;
?>
輸出:
unchecked
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn