phpsmartyfor
① php smarty中的循環輸出的問題
$menu[0][0]['tag']='系統設置';
$menu[0][0]['url']='';
$menu[0][1]['tag']='A設置';
$menu[0][1]['url']='a.html';
$menu[0][2]['tag']='B設置';
$menu[0][2]['url']='b.html';
$menu[1][0]['tag']='信息設置';
$menu[1][0]['url']='';
$menu[1][1]['tag']='C設置';
$menu[1][1]['url']='c.html';
$menu[1][2]['tag']='B設置';
$menu[1][2]['url']='d.html';
//print_r($menu);
for($i=0;$i<=count($menu);$i++)
{
for($j=0;$j<count($menu[$i]);$j++)
{
echo $menu[$i][$j]['tag'].":".$menu[$i][$j]['url'];
}
}
***********快下班了 section循環跟這差不多 自己看看吧 思路就這么個思路 不用過濾數組 相對來說還是比較簡單的
② php 我用smarty謝了一個網站,用foreach循環了導航欄,怎麼修改其中一個導航
首先,你得先確定是按照什麼來生成欄目鏈接的。
比如是按照id,那你大概按照以下的寫法:
{foreach from=$nav item=navs key = k}
{if $navs.id eq '6'}你要修改的導航欄鏈接{else}其它的不做處理{/if}
{/foreacn}
③ smarty 處理PHP遍歷數據問題
<{foreach from=$results item=one name=name}>
<{if $smarty.foreach.name.last}>
{month:'<{$one.month}>',visits:<{$one.sum1}>,color: '#B0DE09'}
<{else}>
{month:'<{$one.month}>',visits:<{$one.sum1}>,color: '#B0DE09'},
<{/if}>
<{/foreach}>
④ smarty for php 3.1.29 怎麼使用
Smarty是一個使用PHP寫出來的模板PHP模板引擎,是目前業界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內容,提供了一種易於管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內容不會影響到前端人員的頁面設計,前端人員重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
⑤ php中smarty 模板結構
smarty模板的控制結構 if語句控制塊常見的if語句寫法:>> if語句在smarty中的應用
# {if $name == "Fred" || $name == "Wilma"}
{* 和上面的例子一樣,"or"和"||"沒有區別 *}
# ...
{* 如果條件成立則輸出這個區塊的代碼 *}
# {/if}
{* 是條件控制的關閉標記,if必須成對出現* foreach的遍歷: 主要是應用在一維數組中. {foreach}要與{/foreach}成對使用,它有四個參數,其中form和item兩個是必要的。foreach可以使用的全部參數如表16-4所示。 表16-4 foreach可以使用的選項參數參 數 名描 述類 型默 認 值form待循環數組的名稱,該屬性決定循環的次數,必要參數數組變數無item確定當前元素的變數名稱,必要參數字元串無key當前處理元素的鍵名,可選參數字元串無name該循環的名稱,用於訪問該循環,這個名是任意的,可選參數字元串無 foreach來遍歷一維數組 foreach來遍歷二維數組 也可以在模板中嵌套使用foreach遍歷二維數組,但必須保證嵌套中的foreach名稱唯一。此外,在使用foreach遍歷數組時與下標無關,所以在模板中關聯數組和索引數組都可以使用foreach遍歷。 二維數組的遍歷 1. <?php
2. require "libs/Smarty.class.php";
//包含Smarty類庫
3. $smarty = new Smarty();
//創建Smarty類的對象
4. $contact=array(
//聲明一個保存三個聯系人信息的二維數組
5. array('name'=>'高某','fax'=>'1234','email'=
>'[email protected]','phone'=>'4321'),
6. array('name'=>'洛某','fax'=>'4567','email'=
>'[email protected]','phone'=>'7654'),
7. array('name'=>'峰某','fax'=>'8910','email'=
>'[email protected]','phone'=>'0198')
8. );
9. $smarty->assign('contact', $contact);
//將關聯數組$contact分配到模板中使用
10. $smarty->display('index.tpl');
//查找模板替換並輸出
11. ?>
在進行輸出時:
進行遍歷的方案 # {foreach from=$contact item=row}
{* 外層foreach遍歷數組$contact *}
# <tr>
{* 輸出表格的行開始標記 *}
# {foreach from=$row item=col}
{* 內層foreach遍歷數組$row *}
# <td>{$col}</td>
{* 以表格形式輸出數組中的每個數據 *}
# {/foreach}
{* 內層foreach區塊結束標記 *}
# </tr>
{* 輸出表格的行結束標記 *}
# {/foreach}
{* 外層foreach區域的結束標記 *}
說明: 這里的遍歷是對整個二維數組來進行遍歷. foreachelse在進行遍歷數組時的應用:foreach標記提供了一個擴展標記foreachelse,這個語句在from變數沒有值的時候被執行,就是在數組為空時foreachelse標記可以生成某個候選結果。在模板中foreachelse標記不能獨自使用,一定要與foreach一起使用。而且foreachelse不需要結束標記,它嵌入在foreach中,與elseif嵌入在if語句中很類似。 foreach為二維數組 1. {foreach key=key item=value from=$array}
{* 使用foreach遍歷數組$array中的鍵和值 *}
2. {$key} => {$item} <br>
{* 在模板中輸出數組$array中元素的鍵和值對 *}
3. {foreachelse}
{* foreachelse在數組$array沒有值的時候被執行*}
4. <p>數組$array中沒有任何值</p>
{* 如果看到這條語句,說明數組中沒有任何數據*}
5. {/foreach}
{* foreach需要成對出現,是foreach的結束標記 *} section的循環遍歷section來循環遍歷二維數組二維數組的遍歷 說明:這是一個二維數組的定義
$contact=array( //聲明一個保存三個聯系人信息的二維數組
array('name'=>'高某','fax'=>'1234','email'=>'[email protected]','phone'=>'4321'),
array('name'=>'洛某','fax'=>'4567','email'=>'[email protected]','phone'=>'7654'),
array('name'=>'峰某','fax'=>'8910','email'=>'[email protected]','phone'=>'0198')
);
$smarty->assign('contact', $contact); //將關聯數組$contact分配到模板中使用
說明:使用section來進行遍歷,其中對於是關聯數組的數組訪問,使用"."號形式來訪問
{section name=line loop=$contact} {* 使用section遍歷數組$contact *}
<tr> {* 輸出表格的行開始標記 *}
<td>{$contact[line].name}</td> {* 輸出數組第二維中下標為name的元素值 *}
<td>{$contact[line].fax}</td> {* 輸出數組第二維中下標為fax的元素值*}
<td>{$contact[line].email}</td> {* 輸出數組第二維中下標為email的元素值*}
<td>{$contact[line].phone}</td> {* 輸出數組第二維中下標為phone的元素值*}
</tr> {* 輸出表格的行結束標記 *}
{/section} {* section區域的結束標記 *}
⑥ 關於php中smarty模版的section二維數組一些參數的解釋
section裡面的屬性name是該循環的名稱,loop為你要循環的數組,還有start 表示循環的初始位置,step表示步長,這里的name可以任意給定一個值相當於定義一個變數一樣,而loop是你要循環的那個數組,這兒是$body。
分析下這個數組的第一個元素:
$new[]=array(
array(
"biao_ti"=>"新聞第一條",
"date"=>"2011-8-11"
)
不難看出來這是一個三維數組,因為$new[]就可以寫成$new=array(),那麼用$body[list]表示的問題就可以解決了,也就是說$new[]的KEY值為0第二維的array也為[0]
$new=array(
[0]=>array(
[0]=>array(
("biao_ti"=>"新聞第二條","date"=>"2011-8-11"
)
[1]=>array(
("biao_ti"=>"新聞第二條","date"=>"2011-8-11"
)
[2]=>array(
("biao_ti"=>"新聞第二條","date"=>"2011-8-11"
)
[3]=>array(
("biao_ti"=>"新聞第二條","date"=>"2011-8-11"
)
)
)
他循環出來的鍵值就是按索引順序循環出來了啊,有點繞了~~~不過理一下思路就出來了
⑦ 怎麼判斷php循環中是不是最後一個 smarty
我覺得可以這樣,可以讀取記錄的時候將數據的條數也查出來。assign到前台頁面,循環都是可以獲取當前循環的次數的,雖然我並不知道smarty的foreach 循環獲取當前循環次數是哪個參數,你可以查一查,應該能查到,這個,用當前循環次數,和數據的總數,也就是總循環次數比較,相等的話就是最後一次循環了。------解決方案--------------------1、你這不是 php 循環,而是模板語言的循環2、你的這個很像 smarty 模板語言,但不能確定。很多模板引擎都套用這個格式3、如果能確認是 smarty 模板引擎,那麼有一個 last 屬性正好滿足你的需要.last 當前 foreach 循環執行到最後一遍時 last 被設置成 true.{* 在列表最後添加水平線 *} {foreach from=$items key=part_id item=prod name=procts} {foreachelse} ... content ... {/foreach} 相應的還有很多實用的屬性可供使用,比如:index、iteration、first、total等這些都是那些有著 smarty 形,卻無 smarty 質的所謂高效模板引擎所做不到的如果你還是不會的話je
可以去後盾裡面查詢 裡面有很多資料,可以供你參考。
⑧ smarty 中的foreach能和php 中的for一樣寫嗎即for($i=0;$i<=10;$i++).
不太明白你說的這個一樣是什麼意思,是想具體到某次循環嗎?
{foreach
from=$list
key=key
item=item
name=listName}
{if
$smarty.foreach.listName.index
==
(一個整數值,循環次數,代表意思相當於$i)}
{*這里可以加入你想要設置的內容*}
{/if}
{/foreach}
或者要按$i的寫法:
<?php
$i
=
0;
?>
<!--{foreach
from=$list
item=item}-->
內容。。。。。。。
<?php
$i++;if($i==10)break;
?>
<!--{/foreach}-->
⑨ php smarty 如何循環數組輸出
方法一:
{foreach form=$arr item=item key=key}
{if $key%2==1}
,{$item}<br />
{else}
{$item}
{/if}
{/foreach}
方法二:
用php 程序 把數組 先重新組裝一下
變為 array(『a,b』,'c,d','e,f'); 再去循環
⑩ php smarty模板引擎foreach循環顯示不出來
把 {foreach from $articlelist item=articlelist} 改成 {foreach from=$articlelist item="articleitem"}
把{$articlelist.article_title} 改成 {$articleitem.article_title}
改成這樣的試試看,你這里 {foreach from $articlelist item=articlelist} 寫法就有問題了
from 要等於 $articlelist from=$articlelist
item 值名不能與 輸入多維數據名一樣
最後 {foreach from=$articlelist item="articleitem"} 是 Smarty 2 的寫法
Smarty 3 的寫法是 {foreach $articlelist as $articleitem}