如何使用 html 形式发送数组

How to send array using html form

所以我需要将数组发送到其他页面。我试图通过表格来制作它:

<form action="{{ path('_przepisy') }}" method="post">
<input type="hidden" name = "produkty" value = "{{ sniadanie }}">
<input type="submit" class="btn btn-success pull-right" value="Przepisy"/>
</form>

"sniadanie" 是数组,例如它作为:sniadanie[0]['ilosc']

在第 "przepisy" 页上,我尝试使用此代码:

{% set produkty = app.request.get('produkty') %}
{{produkty[0]['iloscuser']}}

但是没用。有人知道我该怎么做吗?

这不是 Symfony2 特有的。它的基本 HTML。您必须提供具有适当名称的多个输入。您不能在单个输入元素中发送数组值!!这是基本的 HTML!!

<form action="{{ path('_przepisy') }}" method="post">
<input type="hidden" name = "produkty[0][iloscuser]" value = "specific-value-from-sniadanie">
<input type="hidden" name = "produkty[1][iloscuser]" value = "specific-value-from-sniadanie">
<input type="hidden" name = "produkty[2][iloscuser]" value = "specific-value-from-sniadanie">
<input type="submit" class="btn btn-success pull-right" value="Przepisy"/>
</form>

但您可以在单个元素内发送 json 字符串。

<form action="{{ path('_przepisy') }}" method="post">
    <input type="hidden" name = "produkty" value = "{{ sniadanie | serialize }}">
    <input type="submit" class="btn btn-success pull-right" value="Przepisy"/>
</form>

然后在控制器中

$this->render("your view", [
    'produkty'  => json_decode($request->get('produkty'))
]);

并在模板中

{{produkty[0]['iloscuser']}}