程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> smarty模板引擎之內建函數用法

smarty模板引擎之內建函數用法

編輯:PHP綜合

本文實例講述了smarty內建函數的使用方法。分享給大家供大家參考。具體如下:

in-build(內建),在smarty模板中,提供了很多內建的函數庫,具體使用可以參考smarty中文手冊chm版本。

1.foreach函數

操作數組如下:

//索引數組 
$res=array('上海','北京','深圳');
$smarty->assign("arr",$res);
//關聯數組 
$res2=array('city1'=>'北京','city2'=>'廣州','city3'=>'湖南');
$smarty->assign("arr2",$res2);
//索引二維數組 
$res3 = array( 
  array('潇曉','常山','吳蓓'),array('珊珊','常明') 
);
$smarty->assign("arr3",$res3);
//關聯二維數組 
$res4 = array( 
  array('id'=>'001','name'=>'張三','email'=>'[email protected]'), 
  array('url'=>'http://www.baidu.com','age'=>'28') 
);
$smarty->assign("arr4",$res4);
//關聯二維數組2 
$res5=array( 
  'emp1'=>array('id'=>'001','name'=>'張三','email'=>'[email protected]'), 
  'emp2'=>array('url'=>'http://www.baidu.com','age'=>'28') 
); 
$smarty->assign("arr5",$res5);

遍歷數組:

其中from、item、key是固定寫法,key可以根據需求加

一維數組

索引數組:

<br/> 
<{foreach from=$arr item=temp}>
  <{$temp}> <t/> 
<{/foreach}> 
<br/>關聯數組:<br/> 
<{foreach from=$arr2 item=temp key=k}>
  <{$k}>=<{$temp}><t/>
<{/foreach}> 
<br/>

備注:from、item、key是固定的 
二維數組

<br/>二維索引數組:<br/> 
<{foreach from=$arr3 item=temp key=k}>
  <{*這裡的temp是一個數組*}> 
  <{foreach from=$temp item=val}> 
    <{$val}> 
  <{/foreach}> 
<{/foreach}> 
<br/>二維關聯數組格式1:<br/> 
<{foreach from=$arr4 item=temp}> 
  <{*外層的鍵不需要,所以不添加key*}> 
  <{foreach from=$temp item=val key=k}>
    <{*內層的鍵需要,添加key*}> 
    <{$k}>=<{$val}> 
  <{/foreach}> 
<{/foreach}> 
<br/>二維關聯數組格式2:<br/> 
<{foreach from=$arr5 item=temp key=k}>
  <{$k}>: 
  <{foreach from=$temp item=val key=k2}>
    <{$k2}>=<{$val }>
  <{/foreach}> 
  <br/> 
<{/foreach}>

2.if...else...

<{if $age>10 }> 
  年齡大於10,年齡為:<{$age}> 
  <{else}> 
  年齡小於10,年齡為:<{$age}> 
<{/if}>

3.if...elseif...elseif...else...

已知數據源如下:

$res4 = array( 
  array('id'=>'001','age'=>'4'), 
  array('id'=>'002','age'=>'16'), 
  array('id'=>'003','age'=>'20'), 
  array('id'=>'004','age'=>'80') 
);

模板中引用如下:

<{foreach from=$arr4 item=temp }>
  <{if $temp.age < 5}>
    <{$temp.id}>,你是小孩
  <{elseif $temp.age >=5 and $temp.age <= 18}>
    <{$temp.id}>,你是年輕人
  <{elseif $temp.age > 18 and $temp.age <= 50}>
    <{$temp.id}>,你是成年人
  <{else}>
    <{$temp.id}>,年齡<span style="font-family:Consolas;">比較大了</span>
  <{/if}>
<{/foreach}

希望本文所述對大家的php程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved