首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Smarty foreach 使用詳解(含巢狀、屬性變數)

     編輯:PHP 綜合知識

基本語法

{foreach from=$array item=$item key=$key name=foo}
    {$item} - {$key}
{/foreach}
  • from:要迭代的陣列(必填)。
  • item:當前元素值變數名(必填)。
  • key:當前鍵名變數名(選填)。
  • name:迴圈名稱,用於存取迴圈屬性(選填)。
  • 需與 {/foreach} 成對,可巢狀但 name 必須唯一。
  • foreachelse:陣列為空時執行區塊。

迴圈屬性變數($smarty.foreach.foo.屬性)

屬性說明
index當前索引(從 0 開始)
iteration執行次數(從 1 開始)
first第一次迴圈為 true
last最後一次迴圈為 true
total總迴圈次數(迴圈中或後可用)

範例

基本輸出

{foreach from=$custid item=curr_id}
id: {$curr_id}<br>
{/foreach}

巢狀與鍵名

{foreach name=outer item=contact from=$contacts}
    {foreach key=key item=item from=$contact}
        {$key}: {$item}<br>
    {/foreach}
{/foreach}

索引判斷:每 5 筆插入標題列

<table>
{foreach from=$items key=myId item=i name=foo}
    {if $smarty.foreach.foo.index % 5 == 0}
        <tr><th>Title</th></tr>
    {/if}
    <tr><td>{$i.label}</td></tr>
{/foreach}
</table>

第一筆顯示 LATEST

{foreach from=$items key=myId item=i name=foo}
    <tr>
        <td>{if $smarty.foreach.foo.first}LATEST{else}{$myId}{/if}</td>
        <td>{$i.label}</td>
    </tr>
{/foreach}

最後一筆加分隔線

{foreach from=$items key=part_id item=prod name=products}
    <a href="#{$part_id}">{$prod}</a>{if $smarty.foreach.products.last}<hr>{else},{/if}
{foreachelse}
    ...無資料...
{/foreach}

迴圈結束顯示總筆數

{foreach from=$items key=part_id item=prod name=foo}
    {$prod.label}<hr/>
    {if $smarty.foreach.foo.last}
        <div id="total">{$smarty.foreach.foo.total} items</div>
    {/if}
{foreachelse}
    ...其他內容...
{/foreach}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved