【问题标题】:Multidimensional array Twig多维数组 Twig
【发布时间】:2014-05-19 13:00:03
【问题描述】:

我有一个问题,在控制器中我有一个多维数组,但我不知道这个数组是多少维。它是由数据库动态确定的,所以我可以以任何方式将它放在树枝上吗?

当我在 twig 中使用函数转储时,它会显示:

array(5) { 
  [0]=> int(50) 
  [1]=> int(51) 
  [2]=> int(52) 
  [51]=> array(2) { 
    [0]=> int(55) 
    [55]=> array(1) { 
      [0]=> int(56) 
    } 
  } 
  [52]=> array(2) { 
    [0]=> int(53) 
    [1]=> int(54) 
  } 
} 

【问题讨论】:

    标签: symfony multidimensional-array twig


    【解决方案1】:

    好的,你可以这样做:(如果你知道你的数组只有一个维度,总共有 2 个维度)。

    {% for key, item in items %}
        {% if item is iterable %}
            {% for sub_item in item %}
                Do something...
            {% endfor %}
        {% else %}
            Do something else...
        {% endif %}
    {% endfor %}
    

    如果您的多维数组包含超过 1 个子数组,则必须递归调用函数才能到达其他子维度。您可以在 twig 扩展文件中执行此操作。

    递归函数正在调用自身以访问多维数组中的子项。我不知道你想用那个数组做什么,但我会根据你的数组制作一个基本函数。

    function recursiveTwig($array)
    {
        foreach($array as $key => $value){
            if(is_array($key)) {
                $this->recursiveTwig($key);
            } else {
                //Do something with your value...
            }
        }
    }
    

    宏:

    How to render a tree in Twig

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    相关资源
    最近更新 更多