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

Smarty 內建條件判斷:if、elseif、else 完整語法與範例

     編輯:PHP 綜合知識

詳細說明 Smarty 模板中條件判斷標籤的語法、比較運算子、邏輯運算子,並以二維關聯陣列遍歷為例,展示 if/elseif/else 在實際資料呈現中的應用。

基本語法

{if $condition}
    {...}
{elseif $condition2}
    {...}
{else}
    {...}
{/if}

比較運算子

運算子別名說明
==eq等於
!=ne, neq不等於
>gt大於
<lt小於
>=gte, ge大於等於
<=lte, le小於等於
===is全等(型別+值)

邏輯運算子

and, &&(且)、or, ||(或)、not, !(非)

實戰範例:二維關聯陣列條件過濾

{* temp.tpl *}
<html>
<h2>Smarty if/elseif/else 範例</h2>

<p style="color:red">範例 1:排除特定鍵名</p>
{foreach from=$arr4 item=temp}
    {foreach from=$temp item=value key=k}
        {if $k neq "c3" and $k neq "n3"}
            {$k} = {$value}<br />
        {/if}
    {/foreach}
{/foreach}

<p style="color:red">範例 2:依值內容分歧輸出</p>
{foreach from=$arr4 item=temp}
    {foreach from=$temp item=value key=k}
        {if $value eq "美女"}
            你是個美女<br />
        {else}
            你們都是帥哥<br />
        {/if}
    {/foreach}
{/foreach}
</html>

PHP 端資料準備

<?php
$arr4 = [
    ['c1' => '北京', 'c2' => '上海', 'c3' => '廣州'],
    ['n1' => '關羽', 'n2' => '張飛', 'n3' => '美女']
];
$smarty->assign('arr4', $arr4);
$smarty->display('temp.tpl');
?>

輸出結果預期

範例 1:
c1 = 北京
c2 = 上海
n1 = 關羽
n2 = 張飛

範例 2:
你們都是帥哥
你們都是帥哥
你們都是帥哥
你是個美女

常見陷阱

  • 變數名稱區分大小寫:$var ≠ $Var。
  • 字串比較建議加引號:{if $name eq 'admin'}。
  • {elseif} 不能寫成 {else if}(會語法錯誤)。
  • 巢狀 {if} 必須正確閉合 {/if}。

善用 Smarty 條件判斷,能在模板層靈活控制呈現邏輯,減少 PHP 端資料預處理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved