例如:
 $listf[]=array('id'=>'hehe1','name'=>'guang1','type'=>array('net1','fsdf1','fdsf1'));
 $listf[]=array('id'=>'hehe2','name'=>'guang2','type'=>array('net2','fsdf2','fdsf2'));
 $listf[]=array('id'=>'hehe3','name'=>'guang3','type'=>array('net3','fsdf3','fdsf3'));$smarty->assign("listf","$listf");
我的想法是
 <?{foreach name=outer item=contact from=$listf}?><?{$contact.id}?>
<?{$contact.name}?>
<?{foreach  key=key item=item from=$contact[type]}?>//这里怎么写
这里我想输出'type'=>array('net1','fsdf1','fdsf1'));的值  可结果是乱码。<?{/foreach}?><?{/foreach}?>

解决方案 »

  1.   

    <!--{foreach item=id from=$var}-->
    <!--{$id}-->
    <!--{/foreach}-->
      

  2.   

    在输出页面更改编码格式,或者在php里转码不就行了吗
      

  3.   

    等的是foreach ,不是section
      

  4.   

    你的数据结构数错误的
    smarty 用 foreach 处理关联数组,用 section 处理下标数组
    你的type数组没有下标,只能用 section 处理
      

  5.   

    <?{section name="no" loop=$alltype   }?>
             <?{$alltype[no].typename}?><br />
             <?{$alltype[no].typeid}?><br />
    <?{section   name="not" loop=$alltype[no].mintype}?>
             <?{$alltype[no].mintype[not].typename}?><br />
    <?{/section }?>
    <?{/section }?>这是我用section写的,但是不懂用froeach写帮我写一个,可否?
      

  6.   

    <?{foreach name=outer item=contact from=$listf}?><?{$contact.id}?>
    <?{$contact.name}?>
    <?{foreach key=key item=item from=$item.type}?>//这里怎么写
    <{$item}>
    <?{/foreach}?><?{/foreach}?>这样不行??
      

  7.   

    <?{foreach name=outer item=contact from=$listf}?><?{$contact.id}?>
    <?{$contact.name}?>
    <?{foreach key=key item=item from=$item.type}?>//或者试试from=$item['type']
    <?$item?>
    <?{/foreach}?><?{/foreach}?>
      

  8.   

    一般来讲,我还是推荐用section,不过它唯一的缺陷是从0开始循环。加入你的数组是从1开始到7,那么他会循环0-6,错过7key的值。lz的问题较适合foreach处理。
      

  9.   

    这种模式,输出item  等等
      

  10.   

    smarty 模板foreach 实例与教程http://www.111cn.net/phper/122/foreach_smarty_php.htm