Php symfony3细枝和显示会话阵列

Php symfony3细枝和显示会话阵列,php,session,twig,symfony,Php,Session,Twig,Symfony,会话中有数组,但无法显示它们。 我的代码: 控制器: $game = $request->query->get('game'); $type = $request->query->get('type'); $odd = $request->query->get('odd'); $kupon = array( 'game' => $game, 'type' => $

会话中有数组,但无法显示它们。 我的代码: 控制器:

  $game = $request->query->get('game');
  $type = $request->query->get('type');
  $odd = $request->query->get('odd');

  $kupon = array(
                 'game' => $game,
                 'type' => $type,
                 'odd' => $odd,
               );

   $this->get('session')->set('kupon', $kupon);
其中“游戏”是例如:“阿森纳-切尔西”,“类型”是像1一样的数字,奇数是像2.2一样的浮点数

细枝文件:

{% if app.session.get('kupon') is not null %}
<table>
{% for kupon in session %}
    <tr>
      <td>{{ kupon.game }}</td>
      <td>{{ kupon.type }}</td>
      <td> </td>
    </tr>
{% endfor %}
</table>

现在我不知道怎么解决这个问题

{%for kupon in session%}
将不会循环
app.session.get('kupon')

您要做的是:

{% for kupon in app.session.get('kupon') %}
但是看看你转储的数据,
app.session.get('kupon')
只是一个数据集,所以你甚至不能循环(以期望的结果)

它将只是:

{{ app.session.get('kupon').game }}
关于您的数据的额外解释:您的会话中有以下内容:

"kupon" => [
    "game" => ...
    "type" => ...
    ...
]
为了能够循环这些,您需要收集数据类型:

"kupon" => [
    [
        "game" => ...
        "type" => ...
        ...
    ],
    [
        "game" => ...
        "type" => ...
        ...
    ],
    ....
]
试试下面

{% if app.session.get('kupon') is not null %}
  {% set kupon = app.session.get('kupon') %}
  <table>
      <tr>
        <td>{{ kupon.game }}</td>
        <td>{{ kupon.type }}</td>
        <td> </td>
      </tr>
  </table>
{% endif %}
{%if app.session.get('kupon')不是null%}
{%set kupon=app.session.get('kupon')%}
{{kupon.game}
{{kupon.type}
{%endif%}

那么您使用的是symfony2还是3?请使用正确的标签…好的,我改了,但现在一切都是x3。我必须单独拥有数组中的所有数据,例如:
nameurname
,现在我有了类似的内容:
name-nam姓氏
。我改为:
{%forkuponin-in-app.session.get('kupon')%}
和:
{{app.session.get('kupon').game}
。我甚至尝试了
kupon.game
或其他什么,但我出现了错误:“无法访问第13行baw\kupon.html.twig中字符串变量(“Arsenal Londyn-Chelsea Londyn”)的属性(“game”)。”你尝试了
{app.session.get('kupon').game}
?正如我所说的,你不能将其放入循环,因为数据不是一个集合。。。你只需要一个“kupon”的“实例”;我用一个明确的例子更新了我的答案
{% if app.session.get('kupon') is not null %}
  {% set kupon = app.session.get('kupon') %}
  <table>
      <tr>
        <td>{{ kupon.game }}</td>
        <td>{{ kupon.type }}</td>
        <td> </td>
      </tr>
  </table>
{% endif %}