smarty模板引擎使用内建函数foreach循环取出所有数组值的方法

这篇文章主要介绍了smarty模板引擎使用内建函数foreach循环取出所有数组值的方法,实例分析了foreach循环遍历数组的几种常用技巧,需要的朋友可以参考下

本文实例讲述了smarty内建函数foreach的使用方法,分享给大家供大家参考。具体如下:

显示文件:index.php

  1. <?php
  2. //创建smarty对象
  3. require_once("./libs/Smarty.class.php");
  4. $smarty = new Smarty();
  5. $arr1 = array("北京","上海","广州");//索引数组
  6. $smarty->assign("arr1",$arr1);//分配索引数组
  7. $arr2 = array("city1"=>"北京","city2"=>"上海","city3"=>"广州");//关联数组
  8. $smarty->assign("arr2",$arr2);//分配关联数组
  9. $arr3 = array(array("北京","上海","广州"),array("关羽","张飞","美女"));//二维索引数组
  10. $smarty->assign("arr3",$arr3);
  11. $arr4 = array(array("c1"=>"北京","c2"=>"上海","c3"=>"广州"),array("n1"=>"关羽","n2"=>"张飞","n3"=>"美女"));//二维关联数组
  12. $smarty->assign("arr4",$arr4);
  13. $smarty->display("temp.tpl");
  14. ?>

模板文件:temp.tpl

  1. <html>
  2. <h2>smarty内建函数foreach,循环取出数组值</h2>
  3. <p >实例1:一维索引数组</p>
  4. {foreach from=$arr1 item=temp}
  5. {$temp}
  6. {/foreach}
  7. <p >实例2:一维关联数组——>item为键值,key为键名。如果不取key,取出方法与一维索引数组相同,当然索引数组也是有key的0,1,2...</p>
  8. {foreach from=$arr2 item=temp kkey=k}
  9. {$k}={$temp}
  10. {/foreach}
  11. <p >实例3:二维索引数组——>两次循环即可</p>
  12. {foreach from=$arr3 item=temp}
  13. {foreach from=$temp item=value}
  14. {$value}
  15. {/foreach}<br />
  16. {/foreach}
  17. <p >实例4:二维关联数组——>同样两次循环即可</p>
  18. {foreach from=$arr4 item=temp}
  19. {foreach from=$temp item=value kkey=k}
  20. {$k}={$value}
  21. {/foreach}<br />
  22. {/foreach}
  23. </html>