在胡子PHP中访问数组中的数组

时间:2017-07-18 10:12:39

标签: php mustache

我有以下数组:

Array
(
[attributes] => Array
    (
        [1] => Array
            (
                [name] => Fysieke eigenschappen
                [attributes] => Array
                    (
                        [0] => Array
                            (
                                [name] => Materiaal
                                [value] => Metaal
                            )

                    )

            )

        [2] => Array
            (
                [name] => Prijsklasse
                [attributes] => Array
                    (
                        [0] => Array
                            (
                                [name] => Prijsklasse
                                [value] => € 751 - € 1000
                            )

                    )

            )

        [3] => Array
            (
                [name] => Opslagruimte
                [attributes] => Array
                    (
                        [0] => Array
                            (
                                [name] => Opslagruimte uitbreidbaar
                                [value] => y
                            )

                    )

            )

    )

)

小胡子代码:

{{# attributes }}

    {{ name }}

    {{# attributes }}

        {{ name }}: {{ value }}

    {{/ attributes }}

{{/ attributes }}

如您所见,我想遍历数组属性中的每个子数组,然后再循环。这在小胡子中不起作用,但有可能解决方法吗?

3 个答案:

答案 0 :(得分:1)

试试这个,直接把名字放在循环中

{{ item.id }}: {{ item.name }} // this works!
{{# item.attributes }}
    {{ name }}: {{ value }} // try this
{{/ item.attributes }}

答案 1 :(得分:1)

而不是使用

{{ item.attributes.name }}: {{ item.attributes.value }}

使用此。

{{ name }}: {{ value }}    

答案 2 :(得分:0)

您的JSON应如下所示:

{
    'attributes': [
        {
            'name': 'Fysieke eigenschappen',
            'attributes': [
                {
                    'name':'Materiaal',
                    'value': 'Metaal'
                }
            ]
        },
        {
            'name': 'Prijsklasse',
            'attributes': [
                {
                    'name':'Prijsklasse',
                    'value': '€ 751 - € 1000'
                }
            ]
        },
        {
            'name': 'Opslagruimte',
            'attributes': [
                {
                    'name':'Opslagruimte uitbreidbaar',
                    'value': 'y'
                }
            ]
        }
    ]
}

然后你的模板就可以了......

JSFiddle