计算表单中特定输入出现的次数

  • 本文关键字:表单 计算 php
  • 更新时间 :
  • 英文 :


有没有办法计算<input type="text" name="a">在表单中出现的次数?

我试过了

$count = count($_POST['a']) ;

但这会计算所有输入,而不管输入的名称如何......

HTML 表单不应包含多个具有相同 name 属性的<input>元素。

如果使用以下标记:

<input type="text" name="a">
<input type="text" name="a">

然后该值将被覆盖,您只会收到 $_POST 数组中最后一个 <input> 元素的值。

如果要从多个<input>元素中获取输入,请改用以下标记:

<input type="text" name="a[]">
<input type="text" name="a[]">
<input type="text" name="a[]">

在这种情况下,将单独考虑每个<input>元素,您将能够检索 $_POST 数组中的值。

要计算<input>元素的出现次数,可以使用以下命令:

echo count($_POST['a']);

请考虑以下代码:

<?php
if (isset($_POST['submit'])) {
    print_r($_POST);
    echo count($_POST['a']);
}
?>
<form action="" method="post">
    <input type="text" name="a[]">
    <input type="text" name="a[]">
    <input type="text" name="a[]">
    <input type="submit" name="submit">
</form>

这将正确显示name属性等于 a<input>元素的数量。

答案很简单,它只会出现一次。name 属性对于所有文本输入字段必须是唯一的,除非您在名称[]附加方括号。否则,表单中的最后一个将覆盖其他值。

如果您将输入名称命名为数组 a

<input type="text" name="a[]">
<input type="text" name="a[]">
<input type="text" name="a[]">

然后你会得到计数器作为

echo count ($_POST['a']);

输出: 3

否则计数器 1

最新更新