php - 用树枝渲染嵌套的关联数组
问题描述
我面临一个需要帮助的小问题。我有这个 php 应用程序,它将数据传递给一个 twig html 模板。
我的 PHP 代码生成以下(简化):
$menuItemsWithPictures = array(
'PageName' => "page_name",
'pictures' => array('/path/to/picture1.jpg', '/path/to/picture2.jpg'),
);
在我的前端,我想让渲染中的每个项目都$menuItemsWithPictures
变成这样(同样,这里非常简化):
<div>
<a href=PageName><!-- Taken from the PageName key in the array-->
<img src=picture1 /> <!-- taken from pictures array [0] -->
<img src=picture2 /> <!-- taken from pictures array [1] -->
</a>
</div>
我尝试了一些变体 {% for key, value in array %}
,但无济于事,因为我a
总是以数组很长的频率生成标签。
有人可以在这里指出我正确的方向吗?
问候, derelektrischemoench
解决方案
我认为您的数组示例有点错误。我相信您实际上是在使用多维数组,不是吗?像这样:
$menuItemsWithPictures = [
[
'pageName' => 'page_name',
'pictures' => array('/path/to/picture1.jpg', '/path/to/picture2.jpg'),
],
[
'pageName' => 'another_page',
'pictures' => array('/path/to/picture1.jpg', '/path/to/picture2.jpg'),
]
];
如果是这种情况,那么正确的 Twig 语法将是:
<div>
{% for item in menuItemsWithPictures %}
<a href="{{ item.pageName }}">
{% for image in item.pictures %}
<img src="{{ image }}"/>
{% endfor }
</a>
{% endfor %}
</div>
推荐阅读
- sql - 用于计算记录数的 SQL 查询
- kotlin - 如何从 ScriptEngineManager 检索 Kotlin jsr223 脚本引擎?
- java - 如何让 JSch 处理后续命令?
- mysql - 如何在一个客户端上有多个用户的 MySql 中保证和返回唯一 ID
- haskell - 我想将 Lucid 添加到 Yesod 的 defaultLayout
- r - 使用 grepl 而不是完整字符串返回字符串的已识别部分
- node.js - Alexa 琐事游戏自定义答案槽类型无法识别错误答案
- javascript - npm 包在 IE11 中导致 SCRIPT1006: Expected ')' 错误
- java - Android Toast 在 Intent onNewIntent 之前
- node.js - 使用 node.js 创建 WordPress 页面