php - 如何从 Smarty 中的多维度数组中打印一个项目并随后循环遍历它?
问题描述
一般来说,我对 Smarty 和 PHP 非常陌生,并且在多维数组方面非常挣扎。我有一个名为$tag_groups
. 当我打印数组时,{$tag_groups|@debug_print_var}
我得到以下输出:
Array (2)
0 => Array (2)
tags => Array (4)
0 => Array (8)
id => "10"
name => "Os coxa"
url_name => "axial_os_coxa"
lastmodified => "2020-02-18 10:42:13"
counter => 76
level => 3
group => "Axial"
URL => "index.php?/tags/10-axial_os_coxa"
1 => Array (8)
id => "12"
name => "Rib"
url_name => "axial_rib"
lastmodified => "2020-02-18 10:42:13"
counter => 76
level => 3
group => "Axial"
URL => "index.php?/tags/12-axial_rib"
2 => Array (8)
id => "13"
name => "Sternum"
url_name => "axial_sternum"
lastmodified => "2020-02-18 10:42:13"
counter => 76
level => 3
group => "Axial"
URL => "index.php?/tags/13-axial_sternum"
3 => Array (8)
id => "11"
name => "Vertebra"
url_name => "axial_vertebra"
lastmodified => "2020-02-18 10:42:13"
counter => 76
level => 3
group => "Axial"
URL => "index.php?/tags/11-axial_vertebra"
TITLE => "Axial"
1 => Array (3)
tags => Array (2)
0 => Array (8)
id => "17"
name => "Pan"
url_name => "extant_primates_pan"
lastmodified => "2020-02-18 10:42:13"
counter => 76
level => 3
group => "Extant primates"
URL => "index.php?/tags/17-extant_primates_pan"
1 => Array (8)
id => "18"
name => "Pongo"
url_name => "extant_primates_pongo"
lastmodified => "2020-02-18 10:42:13"
counter => 76
level => 3
group => "Extant primates"
URL => "index.php?/tags/18-extant_primates_pongo"
CHANGE_COLUMN => true
TITLE => "Extant primates"
Array (2)
is$tag_groups
和接下来的两个较低级别(即0 => Array (2)
和1 => Array (3)
)是$tag_group
。
如何仅打印TITLE
每个$tag_group
或至少一个子级别?
我试过了
{$tag_groups.TITLE|@debug_print_var}
{$tag_groups['tag_group']|@debug_print_var}
还有一些其他变体,我要么总是得到 null 要么是 php 错误(例如,当我尝试时{$tag_groups item='tag_group'|@debug_print_var}
)。
我的想法是,如果我只能打印数组的每个子级别的 TITLE,我就会知道使用什么语法来使用 if 条件循环遍历它,因为我想要做的看起来像这样
{foreach foreach from=$tag_groups item=tag_group.TITLE}
{if in_array('Axial', $tag_group.TITLE)}
DoSomethingAboutIt
{/if}
{/foreach}
但我什至不确定这是不是有效的想法。
谢谢您的帮助!
解决方案
好的,我想我解决了
{foreach from=$tag_groups item=tag_group}
{$tag_group.TITLE|@debug_print_var}
{/foreach}
我来自 R,所以循环遍历数组以打印其子元素对我来说没有意义....
推荐阅读
- python - 如何使用 FitsIO 更新 FITS 文件头?
- c++ - 为什么 std::future::wait_for 不等待正确的持续时间?
- node.js - 如何使用 Sails.js v1 中的 .find() 方法进行不区分大小写的搜索
- r - 平均列表重复元素
- javascript - webpack 和 jquery-minicolors : TypeError: element.minicolors is not a function
- c# - 如何在 ASP.NET Core 中将 XML 转换为记录集,反之亦然?
- python-2.7 - GRPC 调用不适用于多个 python 进程
- homebrew - 自制软件:如何恢复到以前版本的 gawk?
- c# - ASP.net Core 2.0 不支持 WindowsBase dll
- amazon-web-services - 使用 AWS Amplify(或 aws-sdk)获取 Cognito 用户的“创建”时间?