gpt4 book ai didi

php - 如何在 php 中同时从一个表单访问两个数组?

转载 作者:行者123 更新时间:2023-11-30 01:35:37 26 4
gpt4 key购买 nike

我从表单收到两个数组。在 .php 文件中,我需要将每个数组的值插入到表的一列中。
- 使用 foreach 循环访问一个数组的元素并仅完成一列的插入。当我对下一个数组执行相同的操作时,我发现每行中相应的第一列元素为空,而对于第一个数组,相应的第二列元素为空。有没有办法避免这种情况并将数组元素一个接一个地插入?
- 我知道 foreach 不能应用于两个数组,所以有没有其他方法可以同时访问这两个数组以插入表中?
谢谢。

最佳答案

您可以使用 foreach 循环:

 foreach($_POST['someField_1'] as $key => $value)
{
$fieldOne = $value;
$fieldTwo = $_POST['someField_2'][$key];
}

显然,将 _POST 变量更改为您命名的字段。只要您的字段名称命名为: name="someField_1[]"name="someField_2[]" 您就可以通过这种方式使用 foreach 循环。

编辑

将此 HTML 作为您的输入表单:

Forename: <input type="text" name="forename[]"> Surname: <input type="text" name="surname[]">
Forename: <input type="text" name="forename[]"> Surname: <input type="text" name="surname[]">
Forename: <input type="text" name="forename[]"> Surname: <input type="text" name="surname[]">

该表单允许您输入最多 3 个人的名字和姓氏。每个字段都有完全相同的名称:forename[]surname[]

要检索每个值,您可以使用以下 PHP:

foreach($_POST['forename'] as $key => $forename)
{
echo 'Forename: ' . $forename;
echo ' ';
echo 'Surname: ' . $_POST['surname'][$key] . '<br />';
}

这是有效的,因为当您提交像 forename[] 这样的字段(末尾带有方括号)时,PHP 会自动将其转换为数组。 $key 是一个从 0 开始的数字,一直延伸到任意多个字段。

PHP 使用 $key 检索正确的字段。您还可以像这样编写 HTML:

Forename: <input type="text" name="forename[0]"> Surname: <input type="text" name="surname[0]">
Forename: <input type="text" name="forename[1]"> Surname: <input type="text" name="surname[1]">
Forename: <input type="text" name="forename[2]"> Surname: <input type="text" name="surname[2]">

你看到我在方括号之间放了一个数字吗? PHP 将检测到这一点并循环遍历数组。

您甚至可以使用 for 循环:

for($i = 0; $i<count($_POST['forename']); $i++)
{
echo 'Forename: ' . $_POST['forename'][$i];
echo 'Surname: ' . $_POST['surname'][$i];
}

关于php - 如何在 php 中同时从一个表单访问两个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16935425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com