Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用数组中的循环细枝获取值_Php_Arrays_For Loop_Twig - Fatal编程技术网

Php 使用数组中的循环细枝获取值

Php 使用数组中的循环细枝获取值,php,arrays,for-loop,twig,Php,Arrays,For Loop,Twig,我有一个这样的数组 'contents' => array( 'row' => array( 'col-xs-6' => 'grid 1', 'col-xs-6' => 'grid 2' ), 'row' => array( 'col-xs-6' => 'gr

我有一个这样的数组

'contents' => array(
              'row' => array(
                    'col-xs-6' => 'grid 1',
                    'col-xs-6' => 'grid 2'
              ),
              'row' => array(
                    'col-xs-6' => 'grid 3',
                    'col-xs-6' => 'grid 4'
              )
        )
现在,我想从数组中获取密钥,但失败了,我尝试使用此代码

{% for key, values in contents %}
     <div class="{{ key }}">
          {% for klass, contain in values %}
                 <div class="{{ klass }}">
                      {{ contain }}
                 </div>
          {% endfor %}
     </div>
{% endfor %}
{%用于键,值在contents%}
{%对于klass,包含在值%}
{{contain}}
{%endfor%}
{%endfor%}
输出:

<div class="row"><div class="col-xs-6">grid 4</div></div>
网格4
我不知道为什么它只出现一次,但如果我尝试用不同的值更改键名,它就会起作用。 请帮帮我。 谢谢。

PHP应该有唯一的键

就你而言

  • 第一个
    被第二个
  • 第二行的第一个
    col-xs-6
    将被第二个
    col-xs-6
  • 因此,生成的数组将是:

    'contents' => array(
          'row' => array(
                'col-xs-6' => 'grid 4'
          )
    )
    
    PHP应该有唯一的键

    就你而言

  • 第一个
    被第二个
  • 第二行的第一个
    col-xs-6
    将被第二个
    col-xs-6
  • 因此,生成的数组将是:

    'contents' => array(
          'row' => array(
                'col-xs-6' => 'grid 4'
          )
    )
    

    根据您的评论:

    假设您传入一个名为
    gridCount
    的变量,然后在Twig中可以这样编码:

    {% for i in 0..gridCount %}
        <div class="row"><div class="col-xs-6">grid {{ i }}</div></div>
    {% endfor %}
    
    {0..gridCount%}
    网格{{i}
    {%endfor%}
    

    如果您还计划更改类值,请告诉我。在上面,我想你不需要。但如果它们也是动态的,那么您需要告诉我它们是如何变化的。

    根据您的评论:

    假设您传入一个名为
    gridCount
    的变量,然后在Twig中可以这样编码:

    {% for i in 0..gridCount %}
        <div class="row"><div class="col-xs-6">grid {{ i }}</div></div>
    {% endfor %}
    
    {0..gridCount%}
    网格{{i}
    {%endfor%}
    

    如果您还计划更改类值,请告诉我。在上面,我想你不需要。但是如果它们也是动态的,那么你需要告诉我它们是如何变化的。

    米兰的回答是否为你提供了你需要的答案?或者您只是想让“row”在第一个div标记中显示为第一个类,在第二个div标记中显示为“col-xs-6”,然后第二个div中的名称为“grid 1”。。。如果是这样,可能会有一个更简单的答案。或者你的内容数组是固定的?@AlvinBunk是的,他有,但他没有给我一个解决方案,所以我不能接受它作为一个答案。是的,在第二个div标签中,我希望'row'作为第一类,'col-xs-6'作为第二类。那么,不管数组名称是否冲突,我如何将其显示为数组的外观呢?我想您可以在数组中使用Twig,但这可能只适用于有效的PHP数组。是否有办法将网格值的数量作为数字变量传递?如果是这样,还有更好的答案。让我知道。@AlvinBunk是的。请让我知道。@Thamilan的答案是否为您提供了所需的答案?或者您只是想让“row”在第一个div标记中显示为第一个类,在第二个div标记中显示为“col-xs-6”,然后第二个div中的名称为“grid 1”。。。如果是这样,可能会有一个更简单的答案。或者你的内容数组是固定的?@AlvinBunk是的,他有,但他没有给我一个解决方案,所以我不能接受它作为一个答案。是的,在第二个div标签中,我希望'row'作为第一类,'col-xs-6'作为第二类。那么,不管数组名称是否冲突,我如何将其显示为数组的外观呢?我想您可以在数组中使用Twig,但这可能只适用于有效的PHP数组。是否有办法将网格值的数量作为数字变量传递?如果是这样,还有更好的答案。让我知道。@AlvinBunk是的。请让我知道。好主意,也许我不需要类值,因为我可以将它除以12,并将结果作为类。非常感谢。不客气!如果您需要进一步的帮助,请发布另一个问题。好主意,也许我不需要类值,因为我可以将其除以12,并将结果作为类。非常感谢。不客气!如果您需要进一步帮助,请发布另一个问题。