在 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