模版使用循环问题

#1 soseek

假如我有
$_SESSION['jg0']
$_SESSION['jg1']
$_SESSION['jg2']
……
$_SESSION['jg*']

想在模版全部显示出来怎么做?
如果是$jg*我倒是可以实现$_SESSION['jg*']就总是实现不了

2011-02-19 02:49:32

#2 jake

可以通过在模板内循环$smarty.session来读取全部的session值。

<{foreach from=$smarty.session item=asession}>
<{$asession}>
<{/foreach}>
不过是读取了全部的session值。
一般来说,session的下标不会像上面那样,在下标后面加数字,如果是这样做的话,建议做个数组,这样更容易处理
$_SESSION['jg'] = array(
xx, xx, xx, xx,
);
那么只要循环$smarty.session.jg就可以了,而且增删更都容易很多。

2011-02-19 07:52:35

#3 huys

支持jake 有问必答的精神。

2011-02-19 09:27:13

#4 soseek

回复 2 jake


    session["jg*"]是在控制器里用for一个个生成的,如果想要做成数组有什么方式(也想过数组就是不知道怎么直接在控制器生成)?

老大是最好的,哈哈

2011-02-19 13:16:01

#5 Pony

$_SESSION['jg'] = array();
for($i=0;结束条件;$i++){
$_SESSION['jg'][$i]=值;
}

这样就可以了,或者原本你有数组,直接让$_SESSION['jg']等于数组也可以

2011-02-19 13:50:51

#6 jake

楼上正解:handshake :)

2011-02-19 21:05:03