ThinkCMF 8 判断中的 eq 和 == 有什么区别?

ThinkCMF 8(基于 ThinkPHP)的模板引擎 ThinkTemplate 中,eq 和 == 作用类似,都是用于 判断相等,但它们的使用场景略有不同:

1. eq(标签表达式)

eq 是 ThinkTemplate 语法中的 运算符别名,用于模板中的标签条件判断:

<if condition="$vo.status eq 1">
    启用
</if>Code language: HTML, XML (xml)

等价于:

<if condition="$vo.status == 1">
    启用
</if>Code language: HTML, XML (xml)

ThinkTemplate 提供了多个运算符的别名,如:

• eq ➝ ==(等于)

• neq ➝ !=(不等于)

• gt ➝ >(大于)

• lt ➝ <(小于)

• egt ➝ >=(大于等于)

• elt ➝ <=(小于等于)

2. ==(PHP 原生运算符)

在 ThinkTemplate 支持的 原生 PHP 代码 或 {} 语法中,可以直接使用 ==:

{if $vo.status == 1}
    启用
{/if}Code language: HTML, XML (xml)

3. 区别

语法适用场景示例说明
eqThinkTemplate <if condition=””> 语法<if condition=”$vo.status eq 1″>适用于模板标签,提升可读性
==PHP 语法、ThinkTemplate {if}{if $vo.status == 1}可在 {} 结构中使用

4. 哪个更推荐?

模板标签 (<if condition=””>) 内 推荐使用 eq,更符合 ThinkCMF/ThinkPHP 规范。

PHP 代码 ({} 结构) 内 推荐使用 ==,符合 PHP 习惯。

如果你的模板里主要用的是 ThinkPHP 的 <if condition=””> 结构,最好使用 eq,保持一致性。

海拔科技

自媒体人,喜欢网络,热爱研究。本站头条号:星河 熊掌号:海拔科技

相关推荐

ThinkPHP+UEditor中HTML代码被强制转义解决办法

基于安全考量,UEditor和thinkphp在对提交的数据进行储存的情况下会对html代码进行转义,比如P标签会转成&lt;p&gt;,在前端读取后笔者发现前端依旧输出了<p>222</p>,同时对文字进行了加色 …

简单设置让phpstorm支持ThinkPHP5代码提示

update:新版的PHPstorm默认已经可以支持thinkphp5代码高亮,无需进行复杂设置!   phpstorm是笔者平时使用频率最高的IDE工具,早期基于ThinkPHP3的时候可以在插件中心下载一款插件来实现ThinkPHP的代码提 …