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

Smarty 模板中判斷陣列是否為空的兩種實用方法

     編輯:PHP 相關知識

Smarty 模板中判斷陣列是否為空的兩種實用方法

在 Smarty 模板中檢查陣列變數是否為空,常用於條件顯示區塊。本文介紹兩種簡潔寫法。

方法一:使用 @count 修飾詞

{if $myArray|@count neq 0}
  <ul>
  {foreach $myArray as $item}
    <li>{$item.name}</li>
  {/foreach}
  </ul>
{else}
  

目前沒有資料

{/if}

@count 會呼叫 PHP count() 函數,回傳元素個數。neq 為「不等於」。

方法二:直接比較空字串

{if $myArray neq ""}
  {* 陣列不為空 *}
{/if}

Smarty 會將陣列轉換為字串比較,空陣列轉為空字串,非空陣列轉為 Array 字串,故可直接判斷。

效能與適用性建議

  • 大型陣列:@count 需遍歷計數,效能較差;建議在 PHP 端預先計算 $count = count($arr) 傳給模板。
  • 簡單判斷:直接比較 neq "" 速度較快,語意清晰。
  • 嚴謹檢查:若需區分「未定義」與「空陣列」,請在 PHP 端確保變數已初始化 $arr = []。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved