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 "!有人可以帮忙吗?
除非更改变量的名称,否则无法获得该结果,因为只要它们共享名称,第二对控件将始终胜过第一个控件.
最简单的解决方案是附加[]到所有名称,这将使内部的相应值$_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)