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

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

  显示文件:index.php:

  

复制代码 代码如下:
<?php

  //创建smarty对象

  require_once("./libs/Smarty.class.php");

  $smarty = new Smarty();

  $arr1 = array("北京","上海","广州");//索引数组

  $smarty->assign("arr1",$arr1);//分配索引数组

  $arr2 = array("city1"=>"北京","city2"=>"上海","city3"=>"广州");//关联数组

  $smarty->assign("arr2",$arr2);//分配关联数组

  $arr3 = array(array("北京","上海","广州"),array("关羽","张飞","美女"));//二维索引数组

  $smarty->assign("arr3",$arr3);

  $arr4 = array(array("c1"=>"北京","c2"=>"上海","c3"=>"广州"),array("n1"=>"关羽","n2"=>"张飞","n3"=>"美女"));//二维关联数组

  $smarty->assign("arr4",$arr4);

  $smarty->display("temp.tpl");

  ?>

  模板文件:temp.tpl

  

复制代码 代码如下:
<html>

  <h2>smarty内建函数foreach,循环取出数组值</h2>

  <p style="color:green">实例1:一维索引数组</p>

  {foreach from=$arr1 item=temp}

  {$temp}

  {/foreach}

  <p style="color:orange">实例2:一维关联数组——>item为键值,key为键名。如果不取key,取出方法与一维索引数组相同,当然索引数组也是有key的0,1,2...</p>

  {foreach from=$arr2 item=temp key=k}

  {$k}={$temp}

  {/foreach}

  <p style="color:red">实例3:二维索引数组——>两次循环即可</p>

  {foreach from=$arr3 item=temp}

  {foreach from=$temp item=value}

  {$value}

  {/foreach}<br />

  {/foreach}

  <p style="color:red">实例4:二维关联数组——>同样两次循环即可</p>

  {foreach from=$arr4 item=temp}

  {foreach from=$temp item=value key=k}

  {$k}={$value}

  {/foreach}<br />

  {/foreach}

  </html>

  希望本文所述对大家的php程序设计有所帮助。