有没有办法计算<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