将表单输入标记作为数组

时间:2014-07-11 06:12:22

标签: php arrays

我试图在数组中获取输入表单值并将所有输入(文本)标记命名为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'];
                }
}

我实际上不知道如何通过输入字段处理数组

3 个答案:

答案 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;