Php Mustach不在数组上迭代

Php Mustach不在数组上迭代,php,template-engine,mustache.php,Php,Template Engine,Mustache.php,我不知道发生了什么(可能是因为这是连续12个小时的工作)。 我总是使用这种表示法,但现在它不起作用了(我已经检查了好几次数据被传递到我所说的这个模板)。 数据不进行迭代,结果为空 胡子代码: {{#ad}} setInput("{{key}}", "{{value}}"); {{/ad}} 我也试过: {{#ad}} setInput("{{key}}", "{{value}}"); {{/ad}} 传递的数据如下所示: Array ( [ad] => Array

我不知道发生了什么(可能是因为这是连续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
            )

     ) 
)

解决方法:小心不要传递散列而不是“普通”数组!!即使由于索引(0=>“a”,1=>“b”),它看起来是一个公共数组,但实际上它是一个散列!因此,只需返回数组中的恶意数据即可修复它

php仅将具有连续键的零索引数组视为“数组”,而不是哈希。如果键列表中缺少任何数字,它会将其视为哈希而不是列表。最常见的是,这是由过滤数组引起的,它删除元素但不重置键<代码>数组\u值或数组迭代器是解决此问题的方法。