0
是我所:PHP给Smarty,显示我有一些问题,在智者显示某些嵌套数组结果...这里一些嵌套数组
$searchResults
- 一个数组,其中每行是一个结果集。这里没问题。 $searchResults[$row][users][]
- 这是我创建的嵌套数组。如果此行的搜索结果存在的用户,我想显示每个用户....
所以,我们在这里有我的Smarty代码:
{section name=i loop=$searchResults}
{section name=j loop=$searchResults[i].users}
{$searchResults[i].users[j].firstName}
{/section}
{/section}
然而,这似乎并没有工作对我来说......它会在我的桌子上以疯狂的方式显示用户的结果,而不是放置在放置部分的相同<td></td>
之内。
更新 - 使用每个,有更多的代码...
{section name=i loop=$searchResults}
<tr>
<td>{$searchResults[i].id}</td>
<td>
{if $searchResults[i].users}
{foreach from=$searchResults[i].users item=user}
{$user.firstName} {$user.lastName} <br>
{/foreach}
{/if}
</td>
</tr>
{/section}
这会显示这样一个表:
ID
ID
ID
Bob Boberton
John Appleton
Chris Cooley
Carl Agley
Cynthia Nobody
当它应该是这样的:
ID Bob Boberton
John Appleton
ID Chris Cooley
ID Carl Agley
Cynthia Nobody
这是*精确*聪明的代码?什么是疯狂的输出?使用该循环,它将逐个打印每个用户名,而不会使用空格或格式。 – drew010
该循环看起来是正确的,但有时我看到该部分的行为奇怪,你可以用{foreach}标签重现它吗? – Scuzzy
@ drew010“疯狂”的部分是,所有的行继续正常显示/打印,然后我有很多只有循环数据(每行1个)的空白行。这对我来说毫无意义。 – Shackrock