switch 标签

  1. 使用{switch}…{/switch}可以实现多个条件判断;
    1. {switch number}
    2. {case 1}1{/case}
    3. {case 5}5{/case}
    4. {case 10}10{/case}
    5. {default/}不存在
    6. {/switch}
  2. {case}也支持多个条件判断,使用|线隔开即可;
    1. {case 10|20|30}10,20,30 均可{/case}
  3. {case}后面也可以是变量,设置变量后不可以使用|线;
    1. {case $id}

    IF 标签

  4. 使用简单条件判断的{if}标签;
    1. {if $number > 10}大于 10{/if}
  5. {if}标签的条件判断可以使用 AND、OR 等语法;
    1. {if ($number > 10) OR ($number > 5)}大于 10{/if}
  6. {if}标签支持{else/}语法;
    1. {if $number > 10}
    2. 大于 10
    3. {else/}
    4. 小于 10
    5. {/if}
  7. {if}标签也支持{elseif}多重条件判断;
    1. {if $number > 100}
    2. 大于 100
    3. {elseif $number > 50}
    4. 大于 50
    5. {else}
    6. 小于 50
    7. {/if}
  8. {if}标签中的条件判断支持 PHP 写法,比如函数和对象调用;
    1. {if strtoupper($user->name) == 'MR.LEE'}
    2. 确认李先生
    3. {/if}

    范围标签

  9. 范围标签:{in}和{notin},判断值是否存在或不存在指定的数据列表中;
    1. {in name='number' value='10,20,30,40,50'}存在{/in}
    2. {in name='number' value='10,20,30,40,50'}
    3. 存在数据列表中
    4. {else/}
    5. 不存在数据列表中
    6. {/in}
  10. name 值可以是是系统变量,比如$Think.xxx.yyy,value 可以是变量;
    3. 范围标签:{between}和{notbetween},判断值是否存在或不存在数据区间中;
    1. {between name='number' value='10,50'}存在{/between}
    2. {between name='number' value='10,50'}
    3. 存在数据区间中
    4. {else/}
    5. 不存在数据区间中
    6. {/between}
  11. between 中的 value 只能是两个值,表示一个区间,第三个值会无效;
    5. 区间不但可以表达数字,也可以是字母,比如 a-z,A-Z;

    是否存在标签

  12. 是否存在:{present}和{notpresent}判断变量是否已经定义赋值(是否存在);
    1. {present name='user'}存在{/present}
    2. {present name='user'}
    3. user 已存在
    4. {else/}
    5. user 不存在
    6. {/present}
  13. 是否为空:{empty}和{notempty}判断变量是否为空值;
    1. {empty name='username'}有值{/empty}
    2. {empty name='username'}
    3. username 有值
    4. {else/}
    5. username 没值
    6. {/empty}
  14. 常量是否定义:{defined}判断常量是否定义(是否存在);
    1. {defined name='PI'}
    2. PI 存在
    3. {else/}
    4. PI 不存在
    5. {/defined}