我试图在数组中获得输入表单值,并将所有输入(文本)标签命名为Val[]我在Isset提交后获得它,但它只是响应每个输入值的第一个字母Html。
<form action="index.php" method="post">
<input type="text" name="val[]" value="">
<input type="text" name="val[]" value="">
<input type="text" name="val[]" value="">
<input type="text" name="val[]" value="">
<input type="text" name="val[]" value="">
<input type="text" name="val[]" value="">
<input type="submit" name="submit" value="Submit">
</form>
PHP if(isset($_POST['submit'])){
$varb = $_POST['val'];
foreach($varb as $vals){
echo $vals['val'];
}
}
我实际上不知道如何通过输入字段处理数组
看看你在$_POST['val']
中使用var_dump($_POST['val'])
,如果你不知道在数组中使用什么。对于您的示例,您应该只使用... echo $vals; ...
在使用每个:
在每次迭代中,赋当前元素的值,并将内部数组指针向前移动1(因此在下一次迭代中,您将看到下一个元素)。
所以$vals
在你的例子中保存数组元素,这个变量输出为:
echo $vals;
PHP中的HTML表单标记是一个数组,比如
array(
[0] => first value
[1] => second value
)
你可以像这样访问它的数组元素
$array = $_POST['val'];
echo $array[0]; // Value of first input field
或者如果您想遍历所有条目:
$array = $_POST['val'];
foreach($array as $val){
echo $val;
}
如果你想访问这个值,就像你在最初的PHP代码段中所做的那样,你必须修改input
字段的name
属性,像这样
name="val[][val]"
但是这在你的情况下没有意义,所以你最好调整你的PHP代码