<{if empty($history)}>
<tr>
<td colspan="6">Not any records!</td>
</tr>
<{else}>
<{foreach from=$history item=item}>
<tr>
<td><{$item.id}></td>
<td>
<div style="max-width:700px;overflow:hidden;text-overflow:ellipsis; ">
<a href="#">
Keywords:<{$item.keywords}><br>
Size:<{$item.size}><br>
<{foreach from=$item.options key=key item=option}>
<{$key}>:<{$option}><br>
<{/foreach}>
</td>
<td><{$item.num}></td>
<td><{$item.create_time}></td>
<td><{$item.last_process}></td>
<td>
<span class="label
<{if $item.status eq 'new'}>
label-primary
<{else}>
label-success
<{/if}>">
<{$item.status}>
</span>
</td>
<td>
<a href="#" class="btn btn-danger btn-xs"><i class="fa fa-trash-o"></i>Delete</a>
<a href="#" class="btn btn-primary btn-xs"><i class="fa fa-file-text"></i>Report</a>
</td>
</tr>
<{/foreach}>
<{/if}>

这是我在项目开发中使用的smarty的一个例子,所以扣下来以作记录。以下为讲解:

分四种颜色,对应两种语句(ifelse,foreach),其中$history为二维数组:

1、黄绿色、橙色,if else语句的使用,及empty()函数,eq的使用

2、蓝色、红色,foreach语句的使用,其中from和item必须的两个参数,from表示循环访问的数组,item当前元素的变量名。还有两个参数,name和key,name用于访问foreach属性的foreach循环的变量名,key就是数组中元素对应的键值名。

smarty中ifelse、foreach以及获取数组中键值名的一个实例的更多相关文章

  1. php获取数组的键值

    <?php header ( "Content-type: text/html; charset=utf-8" ); $info[; $info[; $info[; $inf ...

  2. C#中获取数组中相加和最接近或等于(<=)给定值的算法

    , ,,,,,,,,, }; List<List<int>> mylist = new List<List<int>>(); int length = ...

  3. js获取数组中的最大值/最小值

    目录 前言 1. 使用Math的静态方法max/min 1.1 结合ES6的扩展运算符...使用 1.2 结合apply/call方法来使用 1.3 结合reduce来使用 2. 排序获取 2.1 只 ...

  4. php获取数组中重复数据的两种方法

    分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...

  5. c#获取数组中最大的元素

    , , , , , , , , , }; var max = array.Max();//获取数组中的最大值 第一种 //第二种方法 ]; ; i < array.Length; i++) { ...

  6. js获取数组中最大值和最小值

    var max = Math.max.apply(null, 数组); 获取最大值 var min = Math.min.apply(null, 数组);获取最小值 一句话获取数组中最大的数,最小数

  7. python获取数组中最多的元素

    获取数组中数量最多的元素,也就是最频繁的那个元素,方法有很多,下面是3种最简单的: 用max函数 sample = [1,2,3,3,3,4,5,5] max(set(sample), key=sam ...

  8. Javascript获取数组中的最大值和最小值的方法汇总

    比较数组中数值的大小是比较常见的操作,下面同本文给大家分享四种放哪广发获取数组中最大值和最小值,对此感兴趣的朋友一起学习吧   比较数组中数值的大小是比较常见的操作,比较大小的方法有多种,比如可以使用 ...

  9. [JavaScript] 获取数组中相同元素的个数

    /** * 获取数组中相同元素的个数 * @param val 相同的元素 * @param arr 传入数组 */ function getSameNum(val,arr){ processArr ...

随机推荐

  1. 彻底卸载mysql数据库~

    以下操作以win10操作系统为例 1 停止window的MySQL服务 打开此台电脑的管理 ---> 服务和应用程序 --->服务,找到mysql的服务并停止 2 卸载MySQL安装程序 ...

  2. 服务器端升级为select模型处理多客户端

    流程图: select会定时的查询socket查询有没有新的网络连接,有没有新的数据需要读,有没有新的请求需要处理,一旦有新的数据需要处理,select就会返回,然后我们就可以处理相应的数据,sele ...

  3. AWK程序设计语言

    一. AWK入门指南 Awk是一种便于使用且表达能力强的程序设计语言,可应用于各种计算和数据处理任务.本章是个入门指南,让你能够尽快地开始编写你自己的程序.第二章将描述整个语言,而剩下的章节将向你展示 ...

  4. BPR贝叶斯个性化排序算法

    全序关系:集合中的任两个元素之间都可以比较的关系.

  5. java线程基础巩固---同步代码块以及同步方法之间的区别和关系

    在上一次中[http://www.cnblogs.com/webor2006/p/8040369.html]采用同步代码块的方式来实现对线程的同步,如下: 对于同步方法我想都知道,就是将同步关键字声明 ...

  6. thinkphp方法success和error跳转时间以及返回ajax

    Action类的success和error方法第三个参数为数字时候,表示指定页面跳转时间,例如: $,); $,); 如果是ajax跳转 必须用true: $this->success('操作成 ...

  7. Mybatis映射文件中数据库表列名称和POJO成员域的联系

    下面是Mybatis的SQL映射文件. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ma ...

  8. linux系统常用命令(一)

    管理 在UNIX/linux系统中,一切皆为文件:若非文件,则为进程.首先认识文件系统: linux文件系统 /var - 经常变化的(variable)文件,诸如日志或数据库等 /usr - 包含绝 ...

  9. c++关于字符串的读入和截取

    #include<iostream>#include<string>#include<vector>using namespace std;vector<st ...

  10. C#双缓冲解释

    C#双缓冲解释 简单说就是当我们在进行画图操作时,系统并不是直接把内容呈现到屏幕 C#双缓冲 上,而是先在内存中保存,然后一次性把结果输出来,如果没用双缓冲的话,你会发现在画图过程中屏幕会闪的很厉害, ...