我正在努力使以下循环工作。基本上,我试图将孩子展示为选项。为什么不起作用?正在显示选项组。并且阵列以正确的方式构建。
{foreach from=$tpl_parents item='row' key='i'}
<optgroup label="{$row.NAME}">
{foreach from=$tpl_children.$i item='child' key='y'}
<option value="{$y}">{$child.VALUE}</option>
{/foreach}
</optgroup>
{/foreach}
我试图循环的数组是这样构造的: 父数组:
array(328) {
[0]=>
array(42) {
["ID"]=>
string(4) "123"
["NAME"]=>
string(6) "blabla"
...
...
子数组:
array(192) {
[123]=>
array(2) {
[881]=>
array(11) {
["CHILD_ID"]=> string(5) "881"
["PARENT_ID"]=> string(4) "123"
["VALUE"]=> string(2) "No"
...
...
答案 0 :(得分:3)
看起来你需要在那里嵌套另一个foreach来获取实际的子项数组:
{foreach from=$tpl_parents item='row' key='i'}
<optgroup label="{$row.NAME}">
{foreach from=$tpl_children.$i item='child' key='j'}
{foreach from=$child item='child_item' key='y'}
<option value="{$y}">{$child_item.VALUE}</option>
{/foreach}
{/foreach}
</optgroup>
{/foreach}
由于您提供的数组不完整且没有与之关联的变量名,因此有点难以解决。例如。 $row = array('blah');