首页 文章

将表单输入标记作为数组

提问于
浏览
0

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

    只要看看你在 $_POST['val'] 中使用 var_dump($_POST['val']) 所拥有的内容并使用,如果你不知道数组中的内容 . 对于您的示例,您应该只使用 ... echo $vals; ...

  • 0

    While using for each:

    在每次迭代时,分配当前元素的值,并将内部数组指针提前一个(因此在下一次迭代中,您将查看下一个元素) .

    所以 $vals 在你的情况下持有数组元素,这个变量得到输出为:

    echo $vals;
    
  • 1

    使用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代码段中访问该值,则必须修改 input fileds的 name 属性,如下所示

    name="val[][val]"
    

    但是这在你的情况下是没有意义的,所以你最好调整你的PHP代码 .

相关问题