【发布时间】:2020-02-18 12:35:21
【问题描述】:
总的来说,我对 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) 是$tag_groups,接下来的两个较低级别(即0 => Array (2) 和1 => Array (3))是$tag_group。
如何只打印每个$tag_group 的TITLE,或至少打印一个子级别?
我试过了
{$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}
但我什至不确定这是不是正确的想法。
感谢您的帮助!
【问题讨论】:
标签: php loops if-statement multidimensional-array smarty