【问题标题】:Mustache not iterating over array小胡子没有遍历数组
【发布时间】:2013-06-17 10:52:53
【问题描述】:

我不知道发生了什么(可能是因为这是连续第 12 个小时工作)。 我一直使用这种表示法,但现在它不起作用(我已经检查了几次数据是否传递给我正在谈论的这个模板)。 数据不迭代,结果为空。

小胡子代码:

{{#ad}} 
   setInput("{{key}}", "{{value}}");
{{/ad}}

我也试过了:

{{#ad}} 
   setInput("{{key}}", "{{value}}");
{{/ad}}

传递的数据如下:

Array
(
[ad] => Array
    (
        [0] => Array
            (
                [key] => id
                [value] => 1
            )

        [1] => Array
            (
                [key] => created_on
                [value] => 1371464401
            )

        [2] => Array
            (
                [key] => updated_on
                [value] => 
            )

        [3] => Array
            (
                [key] => dealer_id
                [value] => 1
            )

     ) 
)

【问题讨论】:

    标签: php template-engine mustache.php


    【解决方案1】:

    已解决:注意不要传递哈希值而不是“普通”数组!即使由于索引 (0 => "a", 1 => "b") 它看起来是一个普通数组,但它实际上是一个哈希!因此,只需返回 array_values($data) 中的恶意数据即可修复它!

    【讨论】:

    • Mustache.php 仅将具有连续键的零索引数组视为“数组”而不是哈希。如果您在键列表中缺少任何数字,它会将其视为哈希而不是列表。最常见的原因是对数组进行过滤,该数组会删除元素但不会重置键。 array_values 或 ArrayIterator 可以解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 2017-02-03
    相关资源
    最近更新 更多