smarty内置函数foreach用法实例

这篇文章主要介绍了smarty内置函数foreach用法,实例分析了smarty内置的foreach函数使用技巧与相关注意事项,需要的朋友可以参考下

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

输出文件:index.php 代码如下:

  1. <?php
  2. require_once('libs/Smarty.class.php');
  3. $smarty = new Smarty();
  4. $smarty->setTemplateDir($_SERVER['DOCUMENT_ROOT']."/php/templates/");
  5. $smarty->setCompileDir($_SERVER['DOCUMENT_ROOT']."/php/templates_c/");
  6. $smarty->setCacheDir($_SERVER['DOCUMENT_ROOT']."/php/cache/");
  7. $smarty->caching = false;
  8. $name = array("喜洋洋","美洋洋","懒洋洋","哈哈哈");
  9. $family = array("husband"=>"喜洋洋","wife"=>"美洋洋","boy"=>"懒洋洋","girl"=>"哈哈哈");
  10. $smarty->assign("name",$name);
  11. $smarty->assign("family",$family);
  12. $smarty->display("temp.htm");
  13. ?>

模板文件:temp.htm 代码如下:

  1. {foreach $name as $value}
  2. {$value}
  3. {/foreach}
  4. <hr />
  5. {foreach $family as $family_name}
  6. {$family_name@key} = {$family_name}
  7. {/foreach}
  8. <br />
  9. {foreach from=$family item=f_name key=k}
  10. {$k} = {$f_name}
  11. {/foreach}
  12. <hr />

数组的输出方法大致有两种形式:

(1)一种是smarty 2的 {foreach from=数组变量名 item=数组值}。

(2)smarty 3的输出方法与php的一致,上面实例没有加$key,需要输出键名时,采用实例里的形式 @key;你可以使用$key=>$value这种形式。

另外,如果只取数组中某一个值,可以直接输出,如关联数组的 {$family.husband}、索引数组的 {$name[0]}等。