通过PHP连接具有相同名称的输入值

WPg*_*guy 0 html javascript php jquery html5

我有一个表单,其中包含相同名称但值不同的输入组:

<form method="POST">
    <div class="move_menu_item_inputs">
        <input type="text" name="menu_item_name" value="Pizza">
        <input type="text" name="plus_minus_qty" value="1">
    </div>

    <div class="move_menu_item_inputs">
        <input type="text" name="menu_item_name" value="Sandwich">
        <input type="text" name="plus_minus_qty" value="3">
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

此时我可以连接最新输入组的一个输入值

所以这

$concatenate = $_POST['plus_minus_qty'] . "x" . $_POST['menu_item_name'];
Run Code Online (Sandbox Code Playgroud)

将有结果:

$concatenate = 3x Sandwich
Run Code Online (Sandbox Code Playgroud)

我需要在我的变量中获得" 1x Pizza,3x Sandwich "!有人可以帮忙吗?

Jon*_*Jon 5

除非更改变量的名称,否则无法获得该结果,因为只要它们共享名称,第二对控件将始终胜过第一个控件.

最简单的解决方案是附加[]到所有名称,这将使内部的相应值$_POST成为数组.然后你可以这样做:

$stuff = array_combine($_POST['menu_item_name'], $_POST['plus_minus_qty']);
$descriptions = [];
foreach ($stuff as $ingredient => $quantity) {
    $descriptions[] = $quantity."x ".$ingredient;
}

$concatenate = implode(', ', $descriptions);
Run Code Online (Sandbox Code Playgroud)