三元数组组装及循环
Array
(
[0] => Array
(
[fruits] => Array
(
[0] => Array
(
[fruits1] => 苹果1
[fruits2] => 桔子1
[fruits3] => 香蕉1
)
)
[vegetables] => 白菜1
)
[1] => Array
(
[fruits] => Array
(
[1] => Array
(
[fruits1] => 苹果2
[fruits2] => 桔子2
[fruits3] => 香蕉2
)
)
[vegetables] => 白菜2
)
)
<p>食物品种:</p><br />
<volist name="food" id="vo">
<volist name="vo['fruits']" id="f">
<p>水果1:{$f['fruits1']}</p>
<p>水果2:{$f['fruits2']}</p>
<p>水果3:{$f['fruits3']}</p>
</volist>
<p>蔬菜:{$vo['vegetables']}</p><br />
</volist>
组装
// 删除不在所在环节的变更,分配相关数据到模板输出 foreach ($lists as $k => $v) { $real = M('cost')->where(array('id' => $v['id']))->getField('link_at_present'); if($v['link'] != $real || empty($v['last'])){ unset($lists[$k]); }else{ $choices = M('cost')->field('name,project_category,budget_encoding,budget_item_name,sub_item,order_contract_number,order_contract_name,contract_each_other,contract_amount,link_at_present')->where(array('id' => $v['id']))->select(); $v = array_merge($v,$choices['0']); $tem = $v['time']; $v[$tem] = $v['value']; $lists[$k] = $v; } } reset($lists); // p($lists); $re = array(); foreach ($lists as $key => $val) { $thisId = $val['id']; $thisField = $val['field']; $thisTime = $val['time']; if(!is_array($re[$thisId])) $re[$thisId] = array(); if(!is_array($re[$thisId][$thisField])) $re[$thisId][$thisField] = array(); $re[$thisId][$thisField]['name'] = $val['name']; $re[$thisId][$thisField]['project_category'] = $val['project_category']; $re[$thisId][$thisField]['budget_encoding'] = $val['budget_encoding']; $re[$thisId][$thisField]['budget_item_name'] = $val['budget_item_name']; $re[$thisId][$thisField]['sub_item'] = $val['sub_item']; $re[$thisId][$thisField]['order_contract_number'] = $val['order_contract_number']; $re[$thisId][$thisField]['order_contract_name'] = $val['order_contract_name']; $re[$thisId][$thisField]['contract_each_other'] = $val['contract_each_other']; $re[$thisId][$thisField]['contract_amount'] = $val['contract_amount']; $re[$thisId][$thisField]['link_at_present'] = $val['link_at_present']; $re[$thisId][$thisField]['field'] = $thisField; $re[$thisId][$thisField]['last'] = $val['last']; if(!$re[$thisId][$thisField]['count']) $re[$thisId][$thisField]['count'] = 0; if(!is_array($re[$thisId][$thisField][$thisTime])) $re[$thisId][$thisField][$thisTime] = array(); $re[$thisId][$thisField][$thisTime] = $val[$thisTime]; $re[$thisId][$thisField]['count']++;
<notempty name="list">
<volist name="list" id="vof" key="kf">
<volist name="vof" id="vo" key="k">
<tr>
<td>{$kf}</td>
<td>{$vo.name}</td>
<td>{$vo.project_category}</td>
<td>{$vo.budget_encoding}</td>
<td><div class="alter" title="{$vo.budget_item_name}">{$vo.budget_item_name}</div></td>
<td><div class="alter" title="{$vo.sub_item}" >{$vo.sub_item}</div></td>
<td><div class="alter" title="{$vo.order_contract_number}" >{$vo.order_contract_number}</div></td>
<td><div class="alter" title="{$vo.order_contract_name}" >{$vo.order_contract_name}</div></td>
<td>{$vo.contract_each_other}</td>
<td>{$vo.contract_amount}</td>
<td>{$vo.link_at_present}</td>
<td><div class="alter" title="{$vo.field}" >{$vo.field}</div></td>
<td>{$vo.count}</td>
<td>{$vo.last|date='Y/m/d', ###}</td>
<volist name="time" id="v" key="k">
<notempty name="vo[$v]">
<td>{$vo.$v|date='Y/m/d', ###}</td>
<else />
<td></td>
</notempty>
</volist>
</tr>
</volist>
</volist>
<else/>
<td colspan="15" class="text-center"> aOh! 暂时还没有内容! </td>
</notempty>
浙公网安备 33010602011771号