Php 如何在一个foreach()中获取两个数组值

Php 如何在一个foreach()中获取两个数组值,php,foreach,Php,Foreach,我想从用户那里得到两个值,即name和price。我制作了一个自动生成行的函数,可以生成同名的输入框。现在的问题是我想把它们存储在数据库中。我使用foreach,但只得到一个数组。我想存储名称和价格。我该怎么做呢。这是我的密码 HTML表单 <form method="post"> <input type="text" name="name[]" /><input type="text" name="price[]" /> <input

我想从用户那里得到两个值,即name和price。我制作了一个自动生成行的函数,可以生成同名的输入框。现在的问题是我想把它们存储在数据库中。我使用foreach,但只得到一个数组。我想存储名称和价格。我该怎么做呢。这是我的密码

HTML表单

<form method="post">
    <input type="text" name="name[]" /><input type="text" name="price[]" />
    <input type="text" name="name[]" /><input type="text" name="price[]" />
    <input type="text" name="name[]" /><input type="text" name="price[]" />
    <input type="text" name="name[]" /><input type="text" name="price[]" />

    <input type="submit" value="Submit" name="submit" />
</form>

同时调用循环中的索引,然后从另一个数组中选择相应的值

foreach($_POST['name'] as $id => $name)
{
    echo $name;
    echo $_POST['price'][$id]
}

同时调用循环中的索引,然后从另一个数组中选择相应的值

foreach($_POST['name'] as $id => $name)
{
    echo $name;
    echo $_POST['price'][$id]
}

如果您知道两个数组的长度相同,则可以使用简单的for循环:

if(isset($_POST['submit']) && count($_POST['name']) == count($_POST['price']))
{
    for($i=0; $i < count($_POST['name']); $i++)
    {
        echo $_POST['name'][$i] . ' ' . $_POST['price'][$i];
    }
}

如果您知道两个数组的长度相同,则可以使用简单的for循环:

if(isset($_POST['submit']) && count($_POST['name']) == count($_POST['price']))
{
    for($i=0; $i < count($_POST['name']); $i++)
    {
        echo $_POST['name'][$i] . ' ' . $_POST['price'][$i];
    }
}
这个怎么样

if(isset($_POST['submit']))
{
    $names = $_POST['name']; # array
    $prices = $_POST['price']; # array

    foreach($names  as $id => $name)
    {
        echo $name;
        echo "<br>";
        echo $prices[$id]
    }
}
这个怎么样

if(isset($_POST['submit']))
{
    $names = $_POST['name']; # array
    $prices = $_POST['price']; # array

    foreach($names  as $id => $name)
    {
        echo $name;
        echo "<br>";
        echo $prices[$id]
    }
}
试试这个

$names = array_combine($_POST['name'], $_POST['price']);
foreach($names as $firstname => $price) {
  echo $firstname . ' ' . $price . '<br>';
}
试试这个

$names = array_combine($_POST['name'], $_POST['price']);
foreach($names as $firstname => $price) {
  echo $firstname . ' ' . $price . '<br>';
}

所有当前的答案都有效,所以你可以选择并接受其中一个适合你特定偏好的答案。所有当前的答案都有效,所以你可以选择并接受其中一个适合你特定偏好的答案preferences@Abdullah检查this@Abdullah检查这个