Twig 数组到字符串的转换
Twig Array to string conversion
这可能相对容易做到,但我是 twig 的新手,我很沮丧。
我正在根据这个答案改编代码:
数组是通过这种格式在 PHP 中生成的:
$link[] = array(
'link' => 'http://example.org',
'title' => 'Link Title',
'display' => 'Text to display',
);
然后通过树枝,我在里面添加 html,在内爆之前:
<ul class="conr">
<li><span>{{ lang_common['Topic searches'] }}
{% set info = [] %}
{% for status in status_info %}
{% set info = info|merge(['<a href="{{ status[\'link\'] }}" title="{{ status[\'title\'] }}">{{ status[\'display\'] }}</a>']) %}
{% endfor %}
{{ [info]|join(' | ') }}
</ul>
但我得到:
Errno [8] Array to string conversion in
F:\localhost\www\twig\include\lib\Twig\Extension\Core.php on line 832
去掉这一行就修复了,但是不显示:
{{ [info]|join(' | ') }}
有什么办法可以正确地爆破它吗?
** 更新 **
使用 Twig 的转储功能 returns 没什么。似乎它甚至没有首先将它加载到数组中。如何将信息加载到新数组中。
您真的不应该在 Twig 模板中构建复杂的数据结构。您可以像这样以更惯用和可读的方式获得所需的结果:
{% for status in status_info %}
<a href="{{ status.link }}" title="{{ status.title }}">{{ status.display }}</a>
{% if not loop.last %}|{% endif %}
{% endfor %}
info是一个数组,所以你应该简单写成
{{ info|join(', ') }}
显示您的信息数组。
[info] 是一个数组,只有一个值:数组信息。
您可以使用 json_encode 将数组序列化为字符串,然后显示漂亮 - 在 twig 中构建
{{ array|json_encode(constant('JSON_PRETTY_PRINT')) }}
如果需要关联数组:
{{info|json_encode(constant('JSON_PRETTY_PRINT'))|raw}}
这可能相对容易做到,但我是 twig 的新手,我很沮丧。
我正在根据这个答案改编代码:
数组是通过这种格式在 PHP 中生成的:
$link[] = array(
'link' => 'http://example.org',
'title' => 'Link Title',
'display' => 'Text to display',
);
然后通过树枝,我在里面添加 html,在内爆之前:
<ul class="conr">
<li><span>{{ lang_common['Topic searches'] }}
{% set info = [] %}
{% for status in status_info %}
{% set info = info|merge(['<a href="{{ status[\'link\'] }}" title="{{ status[\'title\'] }}">{{ status[\'display\'] }}</a>']) %}
{% endfor %}
{{ [info]|join(' | ') }}
</ul>
但我得到:
Errno [8] Array to string conversion in F:\localhost\www\twig\include\lib\Twig\Extension\Core.php on line 832
去掉这一行就修复了,但是不显示:
{{ [info]|join(' | ') }}
有什么办法可以正确地爆破它吗?
** 更新 **
使用 Twig 的转储功能 returns 没什么。似乎它甚至没有首先将它加载到数组中。如何将信息加载到新数组中。
您真的不应该在 Twig 模板中构建复杂的数据结构。您可以像这样以更惯用和可读的方式获得所需的结果:
{% for status in status_info %}
<a href="{{ status.link }}" title="{{ status.title }}">{{ status.display }}</a>
{% if not loop.last %}|{% endif %}
{% endfor %}
info是一个数组,所以你应该简单写成
{{ info|join(', ') }}
显示您的信息数组。
[info] 是一个数组,只有一个值:数组信息。
您可以使用 json_encode 将数组序列化为字符串,然后显示漂亮 - 在 twig 中构建
{{ array|json_encode(constant('JSON_PRETTY_PRINT')) }}
如果需要关联数组:
{{info|json_encode(constant('JSON_PRETTY_PRINT'))|raw}}