将表单输入标签作为数组


Taking Form Input Tag as Array

我试图在数组中获得输入表单值,并将所有输入(文本)标签命名为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代码

相关文章: