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程序设计有所帮助。
相关推荐
-
php中smarty区域循环的方法
本文实例讲述了php中smarty区域循环的方法.分享给大家供大家参考.具体实现方法如下: <html> <head> <title>Smarty Test</title> </head> <body> <table border=1> {foreach key=key1 item=item1 from=$array1} <tr> <td>{$key1}</td> <td>{
-
Smarty foreach控制循环次数的一些方法
1.在 smarty 中数组是经常会用到的,循环遍历数组用 section 或者 foreach ,如何得到数组长度或者判断一个数组个数呢?可以用{$array| count} 来试试. 2. 复制代码 代码如下: {foreach from=$variable key=key name=name iteam=value} {$variable|@count} // 获取数组长度 {$smarty.foreach.loop.index} // 获取当前循环数组元素下标,以0开始 {
-
smarty模板嵌套之include与fetch性能测试
方法一.使用在父模板中使用{include file="child.tpl"}直接将子模板包含进来 优点: 1.有利于模块的划分和模板的重用. 2.嵌套层次不多的时候,模板的结构清晰,一眼过去就知道这个模板的内容和结构. 3.只需要一个smarty实例就能做完所有的事情,减少系统资源的占用. 不足: 1.子模板中的变量可能与父模板的变量发生冲突 2.多重嵌套的时候,变量名冲突的几率增大,为所有的变量赋值的难度也加大. 3.子模板的可操控性差,例如不能通过设置$cache_id, $co
-
Smarty foreach控制循环次数的实现详解
1.可以用{$array| count} 来试试.2. 复制代码 代码如下: {foreach from=$variable key=key name=name iteam=value} {$variable|@count} // 获取数组长度 {$smarty.foreach.loop.index} // 获取当前循环数组元素下标,以0开始 {$smarty.foreach.loop.iteration} // 获取当前循环次数,以1开始 {$sma
-
smarty的section嵌套循环用法示例
本文实例讲述了smarty的section嵌套循环用法.分享给大家供大家参考,具体如下: {section name="sec1" loop=$typeList} <TABLE class=left20 height=25 cellSpacing=0 cellPadding=0 width=624 background=images/indexbg.gif border=0> <TBODY> <TR> <TD class=zi align=le
-
smarty循环嵌套用法示例分析
本文实例讲述了smarty循环嵌套用法.分享给大家供大家参考,具体如下: test3.php: <?php require "main.php"; $forum = array( array("category_id" => 1, "category_name" => "公告区", "topic" => array( array("topic_id" =>
-
php smarty 二级分类代码和模版循环例子
二级分类的数据表结构如下: 复制代码 代码如下: PHP代码如下 /** @ 文章分类 含二级分类 @ param int $rootnum -- 一级分类数量 @ param int $childnum -- 二级分类数量 @ 返回值 array @ date 2011.2.24 */ function temp_articletreecate($rootnum,$childnum){ if(!isnumber($rootnum)){ $rootnum = 10; } if(!isnumber
-
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
本文实例讲述了smarty内建函数foreach的使用方法,分享给大家供大家参考.具体如下: 显示文件:index.php: 复制代码 代码如下: <?php //创建smarty对象 require_once("./libs/Smarty.class.php"); $smarty = new Smarty(); $arr1 = array("北京","上海","广州");//索引数组 $smarty->assig
-
smarty模板引擎中内建函数if、elseif和else的使用方法
本文实例讲述了smarty内建函数if.elseif与else的使用方法,分享给大家供大家参考.具体如下: 模板文件:temp.tpl 复制代码 代码如下: <html> <h2>smarty内建函数if.elseif和else的使用</h2> <p style="color:red">实例1-->if的使用:取出键名不等于c3和n3之外的键值</p> {foreach from=$arr4 item=temp} {f
-
smarty模板引擎之内建函数用法
本文实例讲述了smarty内建函数的使用方法.分享给大家供大家参考.具体如下: in-build(内建),在smarty模板中,提供了很多内建的函数库,具体使用可以参考smarty中文手册chm版本. 1.foreach函数 操作数组如下: //索引数组 $res=array('上海','北京','深圳'); $smarty->assign("arr",$res); //关联数组 $res2=array('city1'=>'北京','city2'=>'广州','cit
-
smarty模板引擎从php中获取数据的方法
本文实例讲述了smarty模板引擎从php中获取数据的方法.分享给大家供大家参考.具体如下: smarty可以分配($smarty->assign)的变量类型:所有php支持的数据类型--基本数据类型.复合数据类型.特殊数据类型(具体见smarty相关手册). 操作/显示文件:index.php 复制代码 代码如下: <?php //创建smarty对象 require_once("./libs/Smarty.class.php"); $smarty = new Smart
-
smarty模板引擎之配置文件数据和保留数据
本文实例讲述了smarty模板引擎之配置文件数据和保留数据的方法.分享给大家供大家参考.具体如下: 一.如何让模板直接从配置文件中取出数据 1.使用场合 当某个变量值,不希望直接写死到程序中(通过smarty分配),就可以通过配置文件来获取. 2.写配置文件 新建文件夹:config 新建文件名:my.ini或my.config 内容:key=value; 例子: title="This is the title of the website." bgcolor="pink&
-
ThinkPHP使用smarty模板引擎的方法
ThinkPHP支持多种php模板引擎,可以根据个人需要加以配置. 下面我们以Smarty模板引擎为例,给大家说说具体的操作流程! 首先去Smarty官网上下载一个Smarty.本站下载地址:http://www.jb51.net/codes/16086.html. 接下来解压压缩包,会有两个文件夹:demo和libs.打开libs文件夹,复制所有内容. 接下来,打开你网站根目录 下thinkphp的文件夹.里面有个vendor文件夹,这个文件夹是TP调用第三方类库用的,把刚才复制的东西全部粘贴
-
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
本文实例讲述了自定义的min版smarty模板引擎MinSmarty.class.php文件.分享给大家供大家参考,具体如下: 一.smarty的优点 smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一.它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离.简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻
-
Smarty模板引擎缓存机制详解
本文实例讲述了Smarty模板引擎缓存机制.分享给大家供大家参考,具体如下: 首先说下smarty缓存和编译,这是两个不同的概念,编译默认情况下是启动的,而缓存机制需要人为开启,smarty编译过的文件还是php文件,所以执行的时候还是编译的,如果涉及到数据库,还是要访问数据库的所以开销也不小啦,所以需要smarty缓存来解决! 1.开启全局缓存 $smarty->cache_dir = "/caches/"; //缓存目录 $smarty->caching = true;
-
smarty模板引擎之分配数据类型
本文实例讲述了smarty模板引擎之分配数据类型用法.分享给大家供大家参考.具体分析如下: 一.分配基本数据 //分配基本数据 $smarty->assign("str","hello smarty!"); $smarty->assign("int",143); $smarty->assign("double",12.1344); $smarty->assign("bool",tru
-
smarty模板引擎基础知识入门
本文实例讲述了smarty模板引擎基础知识.分享给大家供大家参考.具体如下: 一.基本概念 1.什么是mvc? mvc是一种开发模式,核心思想是:数据的输入.数据的处理.数据显示的强制分离. 2.什么是smarty? smarty是一个php的模板引擎.更明确的来说,它可以帮助开发者更好的分离程序逻辑和页面显示. 3.smarty运行原理 模板文件,就是一个显示数据的模板,其中需要显示的数据用占位符代替. smarty运行时,会读取模板文件,将模板文件中的占位符替换成真正的数据,并输出一个处理后
随机推荐
- jquery制作 随机弹跳的小球特效
- JavaScript无提示关闭窗口(兼容IE/Firefox/Chrome)
- 值得收藏的正则表达式大全
- iis中ASP运行环境配置图解 IIS的安装和基本设置
- python实现微信接口(itchat)详细介绍
- 原生Javascript和jQuery做轮播图简单例子
- js点击返回跳转到指定页面实现过程
- 函数window.open实现关闭所有的子窗口
- Youku 视频绝对地址获取的方法详解
- c#定时运行程序分享(定时程序)
- 解析C++编程中的#include和条件编译
- Linux makefile 和shell文件相互调用实例详解
- js遍历获取表格内数据的方法(必看)
- C++交换指针实例
- jQuery中each循环的跳出和结束实例
- 浅谈SQL SERVER数据库口令的脆弱性
- Android 自定义通用的loadingview实现代码
- shiro之记住登录信息
- Android新布局方式ConstraintLayout快速入门教程
- 浅析PHP开发规范