• smarty 内置函数if 等判断


    {if},{elseif},{else}

    Smarty的{if}条件判断和PHP的if 非常相似,只是增加了一些特性。 每个{if}必须有一个配对的{/if}. 也可以使用{else} 和 {elseif}. 全部的PHP条件表达式和函数都可以在if内使用,如||or&&andis_array(), 等等.

    如果开启了安全机制,那么只有在$php_functions设置允许的PHP函数才能使用。 参见安全机制

    下面是可用的运算符列表,使用中都会放到元素的中间并且用空格分隔。 注意列表中[方括号]的是可选的,而且还会列出对应PHP的表达式。

    运算符别名语法示例含义对应PHP语法
    == eq $a eq $b 等于 ==
    != ne, neq $a neq $b 不等于 !=
    > gt $a gt $b 大于 >
    < lt $a lt $b 小于 <
    >= gte, ge $a ge $b 大于等于 >=
    <= lte, le $a le $b 小于等于 <=
    ===   $a === 0 绝对等于 ===
    ! not not $a 非 (一元运算) !
    % mod $a mod $b 取模 %
    is [not] div by   $a is not div by 4 取模为0 $a % $b == 0
    is [not] even   $a is not even [非] 取模为0 (一元运算) $a % 2 == 0
    is [not] even by   $a is not even by $b 水平分组 [非] 平均 ($a / $b) % 2 == 0
    is [not] odd   $a is not odd [非] 奇数 (一元运算) $a % 2 != 0
    is [not] odd by   $a is not odd by $b [非] 奇数分组 ($a / $b) % 2 != 0

    Example 7.44. {if} 表达式

    {if $name eq 'Fred'}
        Welcome Sir.
    {elseif $name eq 'Wilma'}
        Welcome Ma'am.
    {else}
        Welcome, whatever you are.
    {/if}
    
    {* an example with "or" logic *}
    {if $name eq 'Fred' or $name eq 'Wilma'}
       ...
    {/if}
    
    {* same as above *}
    {if $name == 'Fred' || $name == 'Wilma'}
       ...
    {/if}
    
    
    {* parenthesis are allowed *}
    {if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
       ...
    {/if}
    
    
    {* you can also embed php function calls *}
    {if count($var) gt 0}
       ...
    {/if}
    
    {* check for array. *}
    {if is_array($foo) }
       .....
    {/if}
    
    {* check for not null. *}
    {if isset($foo) }
       .....
    {/if}

    参考:http://www.smarty.net/docs/zh_CN/language.function.if.tpl

  • 相关阅读:
    JVM概论
    设计模式之工厂模式
    Java基础之多线程简述
    设计模式之单例模式
    设计模式之模板方法模式
    设计模式之适配器模式
    设计模式之策略模式
    机器学习浅析之最优解问题(二)
    MapReduce架构与生命周期
    Hadoop系列之实验环境搭建
  • 原文地址:https://www.cnblogs.com/youxin/p/3556479.html
Copyright © 2020-2023  润新知