易优EyouCMS程序中compare系列标签实现变量比较的使用方法及示例
一、基础用法
- 标签名称:
{eyou:eq}
、{eyou:neq}
、{eyou:gt}
等 - 描述:用于对变量与指定值进行比较判断,输出符合条件的内容。适用于简单的条件逻辑控制。
- 通用语法格式:
html
{eyou:比较标签 name='变量名' value='比较值'} 满足条件时显示的内容 {/eyou:比较标签}
二、支持的比较标签说明
标签名称 | 别名 | 含义 | 示例表达式 |
---|---|---|---|
eq |
equal |
等于 | $var == value |
neq |
notequal |
不等于 | $var != value |
gt |
—— | 大于 | $var > value |
egt |
—— | 大于等于 | $var >= value |
lt |
—— | 小于 | $var < value |
elt |
—— | 小于等于 | $var <= value |
heq |
—— | 恒等于 | $var === value |
nheq |
—— | 不恒等于 | $var !== value |
三、属性说明
属性名 | 必填 | 说明 |
---|---|---|
name |
是 | 要比较的变量名(需以 $ 开头),如 $field.status |
value |
是 | 比较的目标值,可以是字符串、数字等 |
四、使用示例
示例1:判断字段是否等于某个值(eq)
html
{eyou:eq name='$field.status' value='1'} <p>当前文档状态为:已发布</p> {/eyou:eq}
说明:如果status
字段等于1
,则显示“已发布”。
示例2:判断字段不等于某个值(neq)
html
{eyou:neq name='$field.typeid' value='0'} <p>当前栏目ID不是默认栏目</p> {/eyou:neq}
说明:如果typeid
不等于0
,则输出提示信息。
示例3:判断数值大小(gt / lt)
html
{eyou:gt name='$field.price' value='100'} <p>该商品价格高于100元</p> {/eyou:gt} {eyou:lt name='$field.stock' value='10'} <p>库存不足10件</p> {/eyou:lt}
说明:分别判断商品价格是否大于100和库存是否小于10,并给出提示。
示例4:判断是否小于等于(elt)
html
{eyou:elt name='$field.level' value='2'} <span class="role">普通用户</span> {/eyou:elt}
说明:如果用户等级小于等于2,则显示“普通用户”标签。
示例5:结合assign定义变量后比较(heq)
html
{eyou:assign name='user_role' value='admin' /} {eyou:heq name='$user_role' value='admin'} <p>当前用户为管理员</p> {/eyou:heq}
说明:判断自定义变量$user_role
是否严格等于'admin'
。
五、注意事项
- 所有变量必须以
$
开头; - 支持字符串、数字、布尔值等多种类型比较;
- 若需要更复杂的条件组合(如多条件与/或),建议使用
{eyou:if}
标签; heq
和nheq
用于严格比较(类型+值),注意值类型一致性。
六、compare标签 vs if标签对比
特性 | compare标签 | if标签 |
---|---|---|
适用场景 | 单一变量与固定值比较 | 多条件组合、复杂逻辑判断 |
可读性 | 高(语义清晰) | 中(结构可能较复杂) |
灵活性 | 低 | 高 |
是否支持else | ❌ 不直接支持 | ✅ 支持 {eyou:else} |
更新时间:2025-05-06 10:31:31
上一篇:易优EyouCMS程序中switch标签实现条件判断的使用方法及示例