当数组键名中含有破折号时,如何呈现该键名对应的值?
这是我目前的代码片段:
$snippet = "
{{ one }}
{{ four['five-six'] }}
{{ ['two-three'] }}
";
$data = [
'one' => 1,
'two-three' => '2-3',
'four' => [
'five-six' => '5-6',
],
];
$twig = new \Twig_Environment(new \Twig_Loader_String());
echo $twig->render($snippet, $data);
输出结果为
1
5-6
Notice: Array to string conversion in path/twig/twig/lib/Twig/Environment.php(320) : eval()'d code on line 34
它能正确输出 four['five-six']
,但在['two-three']
处报错。
two-three
被用作局部符号,就像在原始的 PHP 中尝试使用$two-three
一样。如果您像示例中那样使用 Twig,则应将该数组作为另一个数组的成员传递,并以变量名称作为键,例如$data = array('values' => $theOtherArray);
。 - prodigitalson