所以,我使用的是Smarty2,不知道Smarty。试着边走边学。我有一个像这样构造的数组(从Var转储)
array(59) {
[0]=> array(4) {
[0]=> string(10) "CCX 4PLY"
[1]=> string(3) "SYP"
[2]=> string(4) "4X8 "
[3]=> array(6) {
[0]=> string(0) ""
[1]=> string(0) ""
[2]=> string(0) ""
[3]=> int(761)
[4]=> string(0) ""
[5]=> string(0) ""
}
}
[1]=> array(4) {
[0]=> string(5) " CCX"
[1]=> string(3) "SYP"
[2]=> string(4) "4X8 "
[3]=> array(6) {
[0]=> string(0) ""
[1]=> string(0) ""
[2]=> string(0) ""
[3]=> string(0) ""
[4]=> int(823)
[5]=> int(937)
}
}
...
}数组要长得多,但这应该足以让您了解我要做的事情。正如您所看到的,在每个数组中,有另一个数组给出了项目价格。有时是没有代价的,但这是好的。不应该在那种场合。所以,我需要做的是显示价格,因为他们对应的具体项目。这是我聪明的代码。
<table>
{foreach name=outer item=row from=$indLine}
<tr>
{foreach key=key item=item from=$row}
<td>{$item}</td>
{foreach key=price item=price from=$row}
<td>{$indLine[4]}</td>
{/foreach}
{/foreach}
</tr>
{/foreach}
数组的智能变量是indLine。indLine4是我试图获取的价格。我试过把它改到划船等地方,但没有用。我在浏览器中显示的内容如下所示。
CCX 4PLY阵列SYP阵列4X8阵列CCX阵列SYP阵列4X8阵列RSH 4层阵列SYP阵列4X8阵列阵列RSH阵列SYP阵列4X8阵列S/F 4层阵列SYP阵列4X8阵列S/F SE阵列SYP阵列4X8阵列阵列阵列
CCX 4PLY 0 SYP 0 4X8 0 Array 0
CCX 0 SYP 0 4X8 0 Array 0
RSH 4-PLY 0 SYP 0 4X8 0 Array 0
RSH 0 SYP 0 4X8 0 Array 0
S/F 4-PLY 0 SYP 0 4X8 0 Array 0
S/F SE 0 SYP 0 4X8 0 Array 0
RSH 3-PLY 0 SYP 0 4X8 0 Array 0
RSH 4-PLY 0 SYP 0 4X8 0 Array 0
RSH 0 SYP 0 4X8 0 Array 0
S/F 4-PLY 0 SYP 0 4X8 0 Array 0发布于 2014-12-31 17:19:05
我不确定每个值/数组代表什么以及您期望的输出类型,但请尝试如下:
<table>
{foreach name=outer item=row from=$indLine}
<tr>
{foreach key=key item=item from=$row}
{if is_array($item)}
{foreach key=key item=price from=$item}
<td>{$price}</td>
{/foreach}
{else}
<td>{$item}</td>
{/endif}
{/foreach}
</tr>
{/foreach}在foreach循环中使用由item定义的变量。我建议您在php中构建assocc数组,然后使用数组键打印想要的数据,而不是盲目地遍历数组。
https://stackoverflow.com/questions/27724131
复制相似问题