我试图在数组中获取输入表单值并将所有输入(文本)标记命名为Val []我在Isset submition之后得到它,但它只是回显每个输入值的第一个字母 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'];
}
}
我实际上不知道如何通过输入字段处理数组
答案 0 :(得分:1)
使用$_POST['val']
查看var_dump($_POST['val'])
中的内容,如果您不知道数组中的内容,请使用。对于您的示例,您应该只使用... echo $vals; ...
答案 1 :(得分:0)
使用HTML表单标记在PHP中实际获得的是像
这样的数组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代码段中访问该值,则必须修改此name
文件的input
属性
name="val[][val]"
但是这在你的情况下毫无意义,所以你最好调整你的PHP代码。
答案 2 :(得分:0)
同时使用:
在每次迭代中,分配当前元素的值,并将内部数组指针提前一个(因此在下一次迭代中,您将查看下一个元素)。 < / p>
所以$vals
在你的情况下持有数组元素,这个变量输出为:
echo $vals;