如何在表单中循环输入数组?

Zac*_*h H 3 php mysql sql database for-loop

我试图查看表单中的一些输入字段并将它们添加到数据库中.用户设置字段数,因此我不能执行类似下面的代码,因为没有特定数量的字段.

for($i=0; $i<(number-of-fields); $i++)
{
    $_REQUEST['Question+$i']
}
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

<?php
$con=mysqli_connect("","test","test","Flashcards");

foreach($_REQUEST['Question[]'] as $value)
    {
    $newcards="INSERT INTO Cards(Questions)
    VALUES($value)";
    mysqli_query($con,$newcards);
    }

mysqli_close($con);
?>
Run Code Online (Sandbox Code Playgroud)

它只是没有添加任何东西到我的数据库.我应该怎么做呢?我是PHP和SQL的新手,似乎无法解决这个问题.

Mar*_*c B 6

鉴于:

<input type="text" name="foo[]" />
<input type="text" name="foo[]" />
etc...
Run Code Online (Sandbox Code Playgroud)

在你的形式,你用它循环

foreach($_POST['foo'] as $index => $value) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

[]领域的名字将被PHP剥离,作为一个暗示,它应该期待多个值具有相同的名称,导致它里面创建$ _GET/$子阵列_ POST来容纳这些额外的价值.

您还可以建议PHP应该使用哪些数组键,例如

<input type="text" name="foo[1]" value="hi there" />
<input type="text" name="foo[abc]" value="TGIF!" />

echo $_POST['foo'][1]; // outputs "hi there"
echo $_POST['foo']['abc'] // outputs "TGIF!"
Run Code Online (Sandbox Code Playgroud)

使用相同的符号/访问方法也支持多维数组.